[WEB]네트워크 기초

박민하·2022년 6월 19일
0

WEB

목록 보기
4/5
post-thumbnail

모두의 네트워크 - 교보문고 정리글이다.


✔ 기본 용어

  • 네트워크 : 데이터 통신망. 데이터는 패킷으로 나누어서 주고받음
  • 비트(bit) : 0과 1의 정보를 나타내는 최소단위. 1byte(8bit)
  • 문자코드(아스키코드 등) → 숫자와 문자의 대응
  • LAN(Local Area Network) : 근거리 통신망. 건물 내부와 같이 지리적으로 제한된 곳의 네트워크
  • WAN(Wide Area Network) : ISP의 서비스를 사용하여 구축한 네트워크. 지역간의 네트워크
  • ISP(Internet Service Provider) : 인터넷 서비스 제공자. KT, SKT 등의 통신 회사
  • 서버 : 네트워크에서 다른 컴퓨터에 서비스를 제공하기 위한 컴퓨터 또는 프로그램
  • VPN(Virtual Private Network) : 가상사설망. 기업 내부 간의 통신에서 사용되는 네트워크 보안 방법.

✅ 데이터를 주고받기 위한 통신 규격

  • 프로토콜 : 데이터 교환을 위한 통신 규약(규칙)
  • ISO(International Organization for Standardization) : 표준 규격을 정하는 단체 중 하나. OSI 모델 제정

✔ OSI 7계층 모델

  • ISO(국제표준화기구)가 정의한 국제 통신 표준 규약.
  • 데이터가 송수신 될 때 컴퓨터 내부에서 일어나는 일을(네트워크 기본 구조) 7개 계층으로 나눠서 함(네트워크 통신 과정을 7개의 계층으로 나눔).
  • 송신측은 상위→하위계층으로 데이터 전달.
  • 수신측은 하위→상위계층을 통해 데이터를 받음.

    7계층 : 응용 계층
    6계층 : 표현 계층
    5계층 : 세션 계층
    4계층 : 전송 계층

    3계층 : 네트워크 계층
    → 서로 다른 네트워크 간의 데이터 통신. 라우터 사용
    2계층 : 테이터 링크 계층
    → 네트워크 장비 간에 신호를 주고받는 규칙을 정함(랜에서 데이터를 주고받기 위해 필요). 이더넷 헤더와 트레일러를 붙임
    1계층 : 물리계층
    → 데이터를 전기신호로 변환하여 전송. 네트워크 장비로 리피터, 허브, 스위치가 있음

✔ TCP/IP 모델

  • 현재 사용되는 네트워크 계층
  • 데이터는 송신 데이터에 헤더를 붙여 송신하고(캡슐화), 수신받을 때 헤더를 제거함(역캡슐화)
  • 캡슐화 : 통신 프로토콜 정보를 데이터에 추가해서 전송하는 기술(상위계층 → 하위게층)

    4계층 : 응용계층(응용, 표현, 세션)
    3계층 : 전송계층
    2계층 : 인터넷 계층(네트워크) → 이더넷 헤더와 트레일러를 붙임
    1계층 : 네트워크 접속 계층(물리, 테이터링크)

✅ 데이터 송수신 과정

✔ 캡슐화 과정

응용 계층 ⇒ 프로토콜(HTTP, DNS, FTP, SMTP, POPS, 등)
세션, 표현 계층 포함
→ 애플리케이션에서 사용하는 데이터를 송수신하는 데 필요
(어플리케이션에 대한 서비스 제공)
전송 계층 ⇒ TCP, UDP
목적지에 데이터를 정확하게 전달하는 데 필요(신뢰성↑)
네트워크 계층 ⇒ IP 등
다른 네트워크에 데이터를 전달하기 위해 필요
데이터 링크 계층 ⇒ 이더넷
→ 랜에서 데이터를 송수신하는데 필요(물리적인 통신 채널을 연결하기 위해 필요)
물리 계층 ⇒ 전기 신호 변환
데이터를 전기신호로 변환하여 네트워크로 전송

  • 헤더 : 데이터 내용을 식별하기 위한 정보
  • 트레일러 : 데이터를 전달 할 때 데이터의 마지막에 추가하는 정보. 데이터 전송 도중에 오류 발생 여부 확인(데이터 무결성 보장)

✅ 네트워크 전송 매체 종류

✔ 랜케이블(랜선)

  • 네트워크를 연결하는 케이블. 트위스트 페어 케이블이라고도 함. 구리선 8개를 2개씩 꼬아 만든 4쌍의 전선.
    1. UTP 케이블 : 실드로 보호되어 있지 않아 노이즈의 영향을 받기 쉽지만 저렴해서 많이 사용됨
    2. STP 케이블 : 2씩 꼬아 만든 선을 실드로 보호하고 있어 노이즈의 영향은 적지만 비쌈
      • 실드 : 금속 호일/매듭. 외부에서 발생하는 노이즈 방지

✔ 랜선 종류

  1. 다이렉트 케이블(컴퓨터와 스위치를 연결할 때 사용)
  2. 크로스 케이블(컴퓨터 간에 직접 랜선으로 연결 할 때 사용)
  • auto MDIX : 다이렉트와 크로스 케이블을 자동으로 판단하는 기능. 케이블 배선 실수로 인한 통신 문제 해결
    1. MDI : 컴퓨터, 라우터의 인터페이스
    2. MDI-X : 스위치, 허브의 인터페이스

✅ ①물리계층

  • 리피터 : 노이즈의 영향으로 파형된 전기신호를 복원하고 증폭하는 네트워크 중계 장비. 지금은 안씀
  • 허브(더비허브) : 리피터와 같은 기능을 함. 랜선으로 여러 컴퓨터와 연결. 전기신호를 모든 포트로 보냄. 지금은 안쓰고 스위치를 씀
  • 랜카드 : 전기 신호로 변환할 때 사용되는 장비. 네트워크 연결 및 데이터 전송 담당 데이터 → 랜카드 → 데이터 MAC 주소(물리주소) : 랜카드의 제조번호. 중복되지 않는다. 48비트로 구성(제조사번호 24비트, 일련번호 24비트)

✅ ②데이터 링크 계층

✔ 이더넷

  • LAN에 사용되는 네트워크 모델. 허브와 같은 장비에 연결된 컴퓨터와 데이터를 주고받을 때 사용.
  • 데이터에 목적지 정보를 추가해서 목적지 외의 컴퓨터는 데이터를 못 받게 함
  • CSMA/CD : 이더넷의 데이터 충돌 방지 방법. 데이터 전송 시점을 늦춤(지금은 안씀).
  • 이더넷 규격 : 케이블 종류나 통신 속도에 따라 분류

    통신속도, 전송방식, 케이블 종류로 구성

    1. 통신속도 : Mbps 단위
    2. 전송방식 : BASE(BASEBAND)
    3. 케이블 종류 : 동축케이블은 최대 길이를 100미터 단위로 표시(ex. 5는 최대길이 500m), UTP 케이블은 -T 로 표시

    ex. 10BASE5(통신속도 5Mbps, 최대길이 500m인 동축케이블), 10BASE-T(통신속도 10Mbps인 UTP 케이블

  • 이더넷 헤더 : 목적지 MAC 주소(6byte), 출발지 MAC 주소(6byte), 유형(2byte) 으로 구성. 유형에는 프로토콜 종류를 식별하는 16진수 번호가 들어감
  • 이더넷 프레임 : 이더넷 헤더와 트레일러(FCS(Frame Check Sequence))가 추가된 데이터

✔ 스위치(스위칭 허브)

  • LAN을 구성할 때 사용하는 단말기 간 스위칭 기능이 있는 통신망 중계 장치.
  • 컴퓨터에서 특정한 단말기로 패킷을 보낼 수 있어 통신 효율 향상. MAC 주소 테이블이 있음.
    1. MAC 주소 : 이더넷의 물리적인 주소. 네트워크에서 각각의 기기를 구분하기 위한 주소
    2. MAC 주소 테이블 : 스위치의 포트번호와 그 포트에 연결되어 있는 컴퓨터의 MAC 주소가 등록되는 데이터베이스
    3. MAC 주소 필터링 : 스위치에서 MAC 주소를 기준으로 목적지를 선택하는 것
    4. MAC 주소 학습 기능 : 컴퓨터에서 목적지 MAC 주소가 추가된 데이터(프레임)가 전송되면 MAC 주소를 포트와 함께 등록함.
    5. 플러딩 : 스위치가 수신 포트 외의 포트에도 데이터가 전송되는 것. MAC 주소 테이블에 목적지 주소가 등록되지 않는 경우에 발생함

✔ ARP(Address Resolution Protocol)

  • 목적지 컴퓨터의 IP 주소를 이용해서 MAC 주소를 찾는 프로토콜(IP 주소를 물리주소인 MAC 주소로 변환).
  • 이더넷 프레임을 전송하려면 목적지 컴퓨터의 MAC 주소를 지정해야 함.
  • 네트워크 계층 주소와 데이터 링크 계층 주소 사이의 변환을 담당.
    1. ARP 요청(request) : MAC 주소를 찾아내기 위한 브로드캐스트
    2. ARP 응답(reply) : 요청에 대해 지정된 IP 주소를 가진 컴퓨터는 MAC 주소를 응답해줌
    3. ARP 테이블(table) : MAC 주소와 IP 주소의 매핑 정보를 메모리에 보관. 이후 데이터 통신은 컴퓨터에 보관된 ARP 테이블을 참고하여 전송. IP 주소가 변경되면 MAC 주소도 같이 변경되므로 일정 시간이 지나면 삭제가 됨
    4. ARP 캐시(cache) : 가장 최근에 변환한 IP : MAC 주소를 보관하고 있는 RAM의 한 영역

✅ 통신 방법

  • 전이중 통신 방식 : 양방향 데이터 통신. 데이터 신호 충돌 방지(예/ 스위치)
  • 반이중 통신 방식 : 데이터 송수신을 번갈아가면서 함. 충돌이 잘 일어나고, 접속된 모든 컴퓨터가 충돌 도메인 범위에 포함됨(예/ 허브)
  • 충돌 : 데이터를 한 번에 하나만 전송할 수 있는 채널에 같은시점에 패킷을 보낼 때 발생
  • 충돌 도메인(collision domain) : 충돌 영향이 미치는 범위

✅ ③네트워크 계층

✔ IP(Internet Protocol)

  • 네트워크 계층의 대표적인 프로토콜
  • IP 주소 : 네트워크 식별 주소. IPS(인터넷 서비스 제공자. 통신사)에게 받을 수 있음
    1. 공인 IP 주소 : 인터넷에 직접 연결되는 컴퓨터나 라우터에 할당
    2. 사설 IP 주소 : LAN에 있는 컴퓨터에 할당. LAN의 네트워크 관리자가 IP 주소를 할당하거나, 라우터의 DHCP 기능을 사용해 주소를 자동 할당
    3. 네트워크 ID : 어떤 네트워크인지 나타냄
    4. 호스트 ID : 해당 네트워크의 어느 컴퓨터인지 나타냄
  • IP 헤더 : 네트워크 계층에서 캡슐화 할 때 데이터에 붙이는 정보
    1. 버전
    2. 헤더 길이
    3. 서비스 유형
    4. 전체 패킷 길이
    5. ID(일련번호)
    6. 조각 상태
    7. 조각의 위치
    8. TTL
    9. 프로토콜
    10. 헤더 체크섬
    11. 출발지 포트 번호(32bit)
    12. 목적지 포트 번호(32bit)
  • IP 패킷 : 데이터에 IP 헤더가 추가되어 만들어진 것. 데이터 링크 계층에서의 프레임과 동일함
  • IP 버전 : IPv4(32bit로 구성. 2^32=43억개의 IP주소 생성 가능), IPv6(128bit로 구성)
  • IP 주소의 구조 : 10진수로 표시하지만 실제로는 2진수로 되어있음. 8비트(옥텟(octet)) 단위로 구분하여 4개씩 나눔.

✔ 라우터

  • 서로 다른 네트워크와 통신하기 위한 중계 장치(라우팅 장비)

    기기 -(LAN)→ 라우터 -(WAN)→ ISP

    • 가정용 라우터로 공유기가 있음
    • 스위치, 허브와 달리 네트워크를 분할/분리할 수 있음
    • 컴퓨터에서 다른 네트워크로 데이터를 전송하려면 기본 게이트웨이를 설정해야 함
  • 기본 게이트웨이(default gateway) : 다른 네트워크에 데이터를 전송하기 위해 라우터의 IP주소 설정하는 것(=네트워크 출입구 설정). 어디로 데이터를 전송해야 하는지 모르기 때문에 IP주소 설정을 먼저 해야함
  • 라우팅 : IP주소까지 데이터를 전송하는 최적의 경로를 설정해 주는 과정
    1. 정적 라우팅
      1. 관리자가 라우팅 테이블에 경로를 수동으로 추가하는 방법
      2. 목적지까지의 경로를 고정하거나, 목적지까지의 경로가 하나로 한경되는 경우 사용
      3. 네트워크에 존재하는 모든 목적지 네트워크의 정보를 라우터에 알려줘야 함
      4. 소규모 네트워크에에 적합
      5. 라우팅 정보가 교환되지 않아 대역폭에 대한 부담이 적고 보안에 좋음
      6. 어떤 경로에 장애가 발생해도 다른 경로로 우회할 수 없고, 이 경우 관리자가 설정을 하나하나 변경해야 함
    2. 동적 라우팅
      1. 네트워크 변경을 자동으로 감지하여 라우팅 테이블을 업데이트
      2. 네트워크 장애가 발생했을 때 라우터끼리 정보를 교환하여 최적의 경로로 전환
      3. 대규모 네트워크에 적합
  • 라우팅 테이블 : 라우터에 있는 경로 정보가 등록되어 있는 테이블(목적지 IP 주소의 경로를 알 수 있음)
    1. 수동 등록 → 정적 라우팅
    2. 자동 등록 → 동적 라우팅
  • 라우팅 프로토콜 : 라우터 간에 라우팅 정보를 서로 교환하기 위한 프로토콜. 라우팅 프로토콜을 설정해 라우터 간에 경로 정보를 서로 교환하고 라우팅 테이블에 등록함 종류 : RIP, OSPF, BGP

✔ 네트워크 크기 & 서브넷

  • 네트워크 크기 : 네트워크 ID를 크게하거나 호스트ID를 작게해서 조정 가능.
    1. A클래스 : 대규모 네트워크 주소. 8bit 네트워크 ID, 24bit 호스트ID
    2. B클래스 : 중형 네트워크 주소.16bit 네트워크 ID, 16bit 호스트ID
    3. C클래스 : 소규모 네트워크 주소. 24bit 네트워크 ID, 8bit 호스트ID
  • IP 주소 범위(10진법) : 공인 IP 주소와 사설 IP 주소가 따로 있음. IPv4에서 사용하는 주소 그룹은 A~E클래스가 있음
    1. A클래스 : 1.0.0.0 ~ 127.255.255.255(사설 → 10.0.0.0 ~ 10.255.255.255)

    2. B클래스 : 128.0.0.0 ~ 191.255.255.255(사설 → 172.16.0.0 ~ 172.31.255.255)

    3. C클래스 : 192.0.0.0 ~ 223.255.255.255(사설 → 192.168.0.0 ~ 192.168.255.255)

      ⇒가정의 LEN은 C클래스의 사설 IP 주소인 192.168.O.O 이 사용됨(cmd → ipconfig 로 확인)

  • 컴퓨터에 할당할 수 없는 IP 주소 → 네트워크 주소, 브로드캐스트 주소
  • 네트워크 주소 : 호스트 ID의 첫번째 숫자가 10진수로 0(2진수로 00000000)인 주소 전체 네트워크에서 작은 네트워크를 식별
    ex)192.168.1.1 ~ 192.168.1.6 은 192.168.1.0의 네트워크에 있음
  • 브로드캐스트 주소 : 호스트 ID의 첫번째 숫자가 10진수로 255(2진수로 11111111)인 주소. 해당 주소로 데이터를 전송하면 네트워크에 있는 모든 컴퓨터에 데이터 전송
  • 서브넷팅(subneting) : 네트워크 분할. 대규모 네트워크를 작은 네트워크로 분할하여 전송되는 패킷의 번위를 좁힘
    네트워크ID, 호스트ID → 네트워크ID, 서브넷ID, 호스트ID
  • 서브넷(subnet) : 분할된 네트워크. 호스트ID로 사용되던 비트가 서브넷ID가 됨
  • 서브넷ID : IP 주소의 네트워크 부분을 늘리기 위해 서브넷 마스크로 사용되는 비트(=서브넷 비트)
  • 서브넷 마스크 : 네브넷팅 이후 판별하기 어려운 네트워크 주소와 호스트 주소를 식별하기 위한 값
    1. A클래스 : 255.0.0.0
    2. B클래스 : 255.255.0.0
    3. C클래스 : 255.255.255.0
  • 프리픽스(prefix) 표기법 : 서브넷 마스크를 /비트수 로 나타내는 것 ex)C클래스 → 255.255.255.0/24 ex)C클래스를 28비트로 변경한 경우 → 255.255.255.240/28 ex)C클래스를 30비트로 변경한 경우 → 255.255.255.252/28

✅ ④전송계층(transport layer)

  • 전송계층의 기능
    1. 오류 점검 : 오류 발생 시 데이터 재전송. 데이터가 제대로 도착했는지 확인 가능
    2. 전송 데이터의 목적지 애플리케이션 식별
  • 전송계층의 특징
    1. 신뢰성/정확성 : 신뢰할 수 있고 정확한 데이터를 전달
      → 연결형 통신 : 상대편과 확인하면서 통신. TCP 사용
    2. 효율성 : 데이터를 효율적으로 빠르게 전달
      → 비연결형 통신 : 일방적인 데이터 전송. UDP 사용(주로 동영상에 사용)

✔ TCP(Transmission Control Protocol, 전송 제어 프로토콜)

  • TCP 헤더 : 전송계층에서 TCP로 전송할 때 붙이는 헤더. 11개의 정보가 나열됨
    1. 출발지 포트 번호(16bit)
    2. 목적지 포트 번호(16bit)
    3. 일련번호(32bit) : 송신측에서 수신측에 분할된 데이터의 순서를 알려줌(몇 번째 데이터인지)
    4. 확인 응답 번호(32bit) : 수신 측이 몇 번째 데이터를 수신했는지 송신 측에 알려줌. 다음 번호의 데이터를 요청(=확인응답)하는 데도 사용됨
    5. 헤더 길이(4bit)
    6. 예약 영역(6bit)
    7. 코드 비트(6bit) : TCP 헤더의 6bit(107~112번째 bit)로 연결의 제어 정보가 기록되는 곳. 각 비트별로(URG, ACK, PSH, RST, SYN, FIN) 역할이 있음. 초깃값은 0 이고 활성화되면 1이 됨.
      • SYN : 연결 요청
      • ACK : 확인 응답
      • FIN : 연결 종료
    8. 윈도우 크기(16bit) : 버퍼의 한계 값(확인 응답을 일일이 하지 않고 연속해서 송수신 할 수 있는 데이터 크기). 초깃값은 3-way 핸드셰이크를 할 때 판단함
    9. 체크섬(16bit)
    10. 긴급 포이트(16bit)
    11. 옵션
  • 세그먼트(segment) : TCP 헤더가 붙은 데이터
  • 버퍼(buffer) : 받은 세그먼트를 일시적으로 보관하는 장소
  • 오버플로(overflow) : 수신 측으로 한계 값 이상의 데이터가 전송된 경우 데이터 처리 불가
  • 연결 확립 : 가상의 통신로로 연결을 확립해야 데이터 전송 가능
  • 3-way 핸드셰이크 : 데이터 송신 전 연결을 확립하기 위해 패킷 요청을 3번 교환하는 것

    1. 연결 확립 요청(컴퓨터1 —SYN→ 컴퓨터2)
      ⇒컴퓨터2는 컴퓨터1의 윈도우 크기를 알게 됨
    2. 연결 확립 응답 + 연결 확립 요청(컴퓨터1 ←SYN, ACK— 컴퓨터2)
      ⇒컴퓨터1는 컴퓨터2의 윈도우 크기를 알게 됨
    3. 연결 확립 응답(컴퓨터1 —ACK→ 컴퓨터2)

⇒ 이 때 SYN, ACK 는 1로 활성화되고, 요청과 응답이 끝나면 다시 0이 됨

  • FIN과 ACK를 사용한 연결종료
    1. 연결 종료 요청(컴퓨터1 —FIN→ 컴퓨터2)
    2. 연결 종료 응답(컴퓨터1 ←ACK— 컴퓨터2)
    3. 연결 종료 요청(컴퓨터1 ←FIN— 컴퓨터2)
    4. 연결 종료 응답(컴퓨터1 —ACK→ 컴퓨터2)
  • 데이터 송수신
  • 일련번호와 확인 응답 번호
    1. 200바이트 데이터 송신(컴퓨터1 —일련번호 : 3001, 확인응답번호 : 4001→ 컴퓨터2)
    2. 3001번 데이터 받음, 3201번 송신 요청
      (컴퓨터1 ←일련번호 : 4001, 확인응답번호 : 3201— 컴퓨터2)
    3. 200바이트 데이터 송신(컴퓨터1 —일련번호 : 3201, 확인응답번호 : 4001→ 컴퓨터2)
    4. 3201번 데이터 받음, 4201번 송신 요청
      (컴퓨터1 ←일련번호 : 4001, 확인응답번호 : 3401— 컴퓨터2)
  • 재전송 제어 : 데이터가 손상/유실된 경우 일련번호와 확인 응답 번호를 사용해서 데이터 재전송
  • 포트번호로 애플리케이션 확인
    → 같은 IP 내에서 프로세스 구분
    (ex 컴퓨터=아파트, 애플리케이션=아파트 주민, 포트번호=아파트 호수)

✔ 포트 번호(PORT)

  • 데이터의 목적지가 어떤 프로그램인지 구분하는 역할
    → 컴퓨터에 데이터 도착(IP 주소) 후 애플리케이션까지 도달(포트번호)

    0~1023번
    → 잘 알려진 포트(well-known ports). 주요 프로토콜이 사용하도록 예약됨
    1024번
    → 예약되어 있지만 사용되지는 않음
    1025번~
    → 랜덤 포트. 클라이언트 측의 송신 포트로 사용
    → 웹 브라우저에는 임의의 포트가 자동으로 할당되어 클라이언트 측은 포트번호를 정하지 않아도 됨

  • 애플리케이션 별 포트 번호

    FTP : 20, 21
    SSH : 22
    TELNET : 23
    SMTP : 25
    DNS : 53
    HTTP : 80
    POP3 : 110
    HTTPS : 443

  • UDP(User Datagram Protocol, 사용자 데이터그램 프로토콜)
    • UPD 헤더 : 전송계층에서 UDP로 전송할 때 붙이는 헤더
      1. 출발지 포트 번호(16bit)
      2. 목적지 포트 번호(16bit)
      3. 길이(16bit)
      4. 체크섬(16bit)
    • UDP 데이터그램 : UDP 헤더가 붙은 데이터
    • 브로드캐스트 : 데이터 일괄 전송

✅ ⑤응용계층(application layer)

  • 클라이언트 : 서비스 요청 측
  • 서버 : 서비스 제공 측
  • 서버 프로그램 → 응용계층에서 동작
  • 클라이언트/서버 통신 → 응용계층의 프로토콜 사용

    HTTP(HyperText Transfe Protocol) : 웹 페이지 접속
    DNS(Domain Name System) : 이름 해석(URL을 IP 주소로 변환)
    FTP(File Transfer Protocol) : 파일 전송
    SMTP(Simple Mail Transfer Protocol) : 메일 송신
    POP3(Post Office Protocol) : 메일 수신

✔ WWW(World Wide Web)

  • 멀티미디어 인터넷 서버. 인터넷 서비스의 하나
    1. HTML : 하이퍼텍스트를 작성하는 마크업 언어

      하이퍼텍스트 → 문자, 이미지, 하이퍼링크 표시

    2. URL(Uniform Resource Locator) : https(통신 프로토콜), www.google.com(호스트명), 443(포트 번호), /search(패스), 쿼리 파라미터(q=hello&hl=ko) 로 구성

    3. HTTP : 클라이언트(웹 브라우저)와 웹 서버 간에 정보를 주고받기 위한 네트워크 프로토콜. 클라이언트에서 HTTP 요청(request)을 보내고, 서버에서 HTTP 응답(response) 반환

      GET : HTTP 요청 시 요청정보, 파일 이름, 버전 등을 서버에 전송
      ex) GET /index.html HTTP/1.1

      HTTP/1.0 : 요청을 보낼 때마나 연결했다가 끊는 작업 반복

      HTTP/1.1 : keepalive 기능 추가. 연결 후 데이터 교환(요청/응답)을 모두 끝내면 연결 종료. 요청 순서대로 응답을 반환(다음 요청에 대한 처리가 늦어짐)

      HTTP/2 : 요청을 보낸 순서와 상관 없이 응답

  • DNS : 웹 브라우저에 URL을 입력하면 서버로 IP 주소 요청하고 응답 받은 IP 주소로 접속
  • DSN 서버 : DNS 서비스가 동작하는 컴퓨터(서버)
  • 메일 송수신 과정
    1. SMTP를 사용해 컴퓨터1에서 메일 서버1 로 메일 송신

      → 세션 시작, 송신자의 메일 주소, 목적지 메일 주소, 메일 본문 전송, 메일 본문 송신, 세션 종료를 통지하고 응답 받음

    2. SMTP를 사용해 메일 서버1에서 메일 서버2로 메일 송신

    3. POP2를 사용해 메일 서버2에서 컴퓨터2로 메일 송신

      → 세션 시작, 수신자의 사용자 이름, 수신자의 비밀번호, 메일 확인, 메일 전송, 세션 종료를 통지하고 응답받음

    • 메일 박스 : 메일 서버에 있는 메일 보관 기능
    • 사용자 인증 : 메일 수신 시 필요한 사용자 이름과 비밀번호
  • ping 명령 : 목적지 컴퓨터와 통신을 확인하는 명령. ICMP라는 프로토콜을 사용해 목적지 컴퓨터에 ICMP 패키을 전송하고, 패킷에 대한 응답이 제대로 오는지 확인함(정상 실행 = 네트워크 정상 연결 이므로 문제 확인 시 자주 사용됨) 사용법 : 명령 프롬프트 → ping 목적지 IP 주소

✅ <OSI 모델(네트워크)의 전체 흐

네트워크 장비에서 이루어지는 데이터 처리 과정 中 요청

**컴퓨터 → 스위치A → 라우터A → 라우터B → 스위치B → 웹 서버**

  1. 컴퓨터 → 브라우저에 URL 입력 후 ENTER
    1. 응용계층 → HTTP 메세지 전송(GET /index.html HTTP/1.1)
    2. 전송 계층 → TCP 헤더를 붙인 세그먼트 전달
    3. 네트워크 계층 → 세그먼트에 IP 헤더를 붙인 IP 패킷 전달
    4. 데이터 링크 계층 → 이더넷 헤더를 붙인 이더넷 프레임 전달
    5. 물리 계층 → 랜카드에서 전기신호로 변환, 스위치A로 전송
  2. 스위치A
    1. 데이터 링크 계층 → 전기 신호 전달 받음
    2. 물리 계층 → 전기 신호로 변환, 라우터A로 전송
  3. 라우터A
    1. 데이터 링크 계층 → 이더넷 프레임의 목적지 MAC주소와 자신의 MAC주소 비교. 주소가 같으면 역캡슐화 후 데이터 전달
    2. 네트워크 계층 → 라우팅 테이블과 목적지 IP 주소 비교(목적지 네트워크를 알기 위해). 라우팅 테이블에서 목적지 IP 주소의 경로를 알 수 있으므로 라우팅 가능. 출발지 IP주소를 라우터A의 외부 IP 주소(WAN 측 주소)로 변경 후 데이터 전달
    3. 데이터 링크 계층 → 이더넷 프레임 전달
    4. 물리 계층 → 전기 신호로 변환, 라우터B로 전송
  4. 라우터B
    1. 데이터 링크 계층 → 이더넷 프레임의 목적지 MAC주소와 자신의 MAC주소 비교. 주소가 같으면 역캡슐화 후 데이터 전달
    2. 네트워크 계층 → 라우팅 테이블과 목적지 IP 주소 비교(목적지 네트워크를 알기 위해). 라우팅 테이블에서 목적지 IP 주소의 경로를 알 수 있으므로 라우팅 가능. 출발지 IP주소를 라우터B의 외부 IP 주소(LAN 측 주소)로 변경 후 데이터 전달
    3. 데이터 링크 계층 → 이더넷 프레임 전달
    4. 물리 계층 → 전기 신호로 변환, 스위치B로 전송
  5. 스위치B
    1. 데이터 링크 계층 → 전기 신호 전달 받음
    2. 물리 계층 → 전기 신호로 변환, 웹 서버로 전송
  6. 웹 서버
    1. 데이터 링크 계층 → 이더넷 프레임의 목적지 MAC주소와 자신의 MAC주소 비교. 주소가 같으면 역캡슐화 후 데이터 전달
    2. 네트워크 계층 → 목적지 IP 주소와 웹 서버 IP 주소가 같은지 확인. 주소가 같으면 IP 헤더 분리 후 전달
    3. 전송 계층 → 목적지 포트 번호 확인, TCP 헤더 분리 후 전달
    4. 응용 계층 → 데이터 도착

✅ 무선 랜

무선 액세스 포인트와 무선 클라이언트가 서로 통신하는 구조

  • 무선 액세스 포인트(Wireless Access Point, WAP)
    → 무선 공유기, 무선 AP 라 부름. 사용자가 인터넷 서비스를 이용할 수 있도록 무선 인터넷 접속을 도와주는 중계 장치
  • 무선 클라이언트(컴퓨터, 스마트폰 등)
    →무선 액세스 포인트와 통신하려면 무선 랜 칩과 무선 랜 어댑터가 필요함
    **무선 랜 칩** : 컴퓨터에 내장되어 있음
    **무선 랜 어댑터** : USB 메모리 방식, 컴퓨터 카드 방식이 있음
  • 연결 방식
    1. 인프라스트럭처 방식(infrastructure) : 무선 액세스 포인트를 통해 통신
    2. 애드혹 방식(Ad Hoc) : 무선 클라이언트끼리 직접 통신
  • 규격 → 무선 공유기가 지원하는 규격과 무선 클라이언트가 지원하는 규격이 같아야 함
  • 연결 과정
    1. 비컨 전송
      비컨(beacon) : 자신을 알리는 신호. 액세스 포인트는 비컨을 네트워크에 있는 모든 기기에 주기적으로 전송하고, 무선 클라이언트는 이 신호를 잡아서 연결함

    2. 같은 SSID인지 문의
      SSID(Service Set IDendtifier) : 엑세스 포인트의 고유 이름, 무선 액세스 포인트와 무선 클라이언트를 연결 할 때 혼선을 방지해줌

    3. 같은 SSID라고 응답

    4. 인증

    5. 접속 요구

    6. 승인 응답

      네트워크 이름, 인증, 암호화, 함호화 키를 설정해야 함
      → 무선 클라이언트가 자동으로 무선 액세스 포인트를 찾아서 통신 할 수 있게 함

  • 채널(=통신 채널) : 무선 랜에서 여러 기기를 동시에 연결할 수 있도록 분할한 주파수 대역. 무선 액세스 포인트는 자동으로 채널이 설정 됨
    → 무선 액세스 포인트와 무선 클라이언트 사이의 거리가 멀수록 전파가 약해져 접속이 잘 안되거나 통신 속도가 느려지는 것을 방지
    → 연결이 불안정하거나 통신 속도가 느려지면 채널을 수동으로 변경해 보는 방법이 있음(무선 공유기 설정 → 웹 브라우저로 확인)
  • 무선 공유기와 컴퓨터는 모두 같은 채널을 각각 설정해야 함(=같은 주파수 대역을 사용해야 함)
  • 공유기끼리는 다른 채널을 설정 → 전파는 겹치지만 주파수가 겹치지 않아 간섭이 일어나지 않음
  • 전파가 겹치는 무선 공유기들이 같은 채널로 설정되어 있으면 전파간섭이 생기고 통신 속도가 느려짐
profile
backend developer 🐌

0개의 댓글