CS 정리 | Network (4) | LAN과 WAN, 패킷과 캡슐화, L2 스위치, IP 헤더 형식, Wireshark의 내부 구조

Konseo·2023년 10월 27일
0

네트워크

목록 보기
7/7

NULLNULL한 개발자님의 강의 및 구글링을 통해 찾은 자료를 바탕으로 기록합니다.
단순히 글을 옮겨적는 것이 아닌 제가 이해한 것을 바탕으로 저만의 설명을 적습니다.

LAN과 WAN

  • 먼저 LAN(local area network)과 WAN(wide area network)은 네트워크 유형을 분류할 때 쓰이는 용어이다.
  • 언뜻 보면 local과 wide니까 지역의 크기로 네트워크 유형을 나누었다고 볼 수 있지만, 크기는 상대적인 개념이기도 하고 정답이랄 것이 없기에 아래와 같이 구분해두면 편하다

LAN

  • 하드웨어 계층에서 설명되는 네트워크
  • MAC 주소에 기초하여 작동하는 네트워크

WAN

  • 소프트웨어 계층에서 설명되는 네트워크
  • IP 주소에 기초하여 작동하는 네트워크

패킷과 캡슐화

데이터는 상위계층에서 하위계층으로 내려갈수록 헤더가 붙어 내려오게 된다. 이를 encapsulation 이라고 한다. (각 계층에 대한 데이터 단위는 이전글에서 설명하였다)

가장 상위 계층부터 생각해보자. 특정 process가 socket에 I/O를 시도하게 되면 TCP 계층에서 메모리에 저장된 stream 형식의 데이터를 일정 단위로 끊는 segmentation 을 진행하여 segment 형식으로 만든다. 이 때 tcp 헤더가 붙어 세그먼트가 완성될 것이다.

이후 IP 계층으로 내려가보자. 이 때에도 IP 헤더가 추가로 붙어 인캡슐레이션을 진행한다. 참고로 여기서 짚어볼 점은 패킷의 MTM이 1500이고 IP헤더와 TCP헤더가 각각 20바이트라면 실제 페이로드 부분은 1460바이트가 될 것이다. 즉, stream 에서 segmentation 을 진행할 때 1460바이트 이하로 데이터를 잘랐음을 역으로 유추해볼 수 있다.

택배를 보내는 과정을 생각해본다면

  • 내용물은 segment
  • 송장 붙인 택배는 packet
  • 트럭은 frame
    이라고 생각하면 편하다.

또 패킷을 얘기할 때 언급되는 용어가 있는데 바로 deep packet inspection의 약자인 DPI 이다. 이는 짧은 시간 안에 패킷 내부 컨텐츠를 검사하는 패킷 분석기술을 일컫는다.

L2 스위치

PC는 유선 NIC의 경우 랜선을 통해 네트워크와 연결된다. 이 때 랜선 HW계층이므로 가장 먼저 L2 switch와 연결될 것이다.

L2 Switch는 크게 두 가지로 나뉘는데

  • L2 Access
  • L2 Distribution
    이다.

L2 Access는 그림과 같이 end-point와 직접 맞닿아 있는 스위치이고,
L2 Distribution은 Access와 연결되는 스위치이다.

여기서 Uplink 라는 개념이 나오는데,
이는 트래픽이 더 넓은 방향으로 뻗어있는 라인을 의미한다.
더 쉽게 설명하자면 상위 계층으로 스위칭 되는 선을 의미한다.

사진을 보면 L2 Access에서 L2 Distribution으로 가는 선이 상위계층으로 연결하는 Uplink임을 알 수 있다. 여기서 더 상위계층으로 간다면 L2 Distribution에서 Router을 연결하면 되겠다.

🏘 건물에 비유해보자면 L2 Access는 방 하나, L2 Distribution은 한 층이고, Router는 건물 하나당 한 개 존재하는 장치이다. (예외도 존재)

⛔️ UplinkLink-up을 헷갈리면 안 된다. 이 둘의 개념은 완전히 다르기 때문이다. uplink는 위에서 설명한 것과 같고, Link-up은 랜케이블이 들어오고 녹색불이 들어온 것을 의미한다. 반대로 Link-down은 랜케이블이 빠진 것을 의미한다.

IP 헤더 형식과 의미 요약

IP 헤더 포맷은 위와 같다. (물론 Data영역은 Payload를 의미하므로 위 사진은 정확히 말하면 IP 패킷 전반을 그리고 있다.)

  • version : 보통 IPV4 주소체계를 사용하므로 4bit 사용
  • IHL : IP Header Length의 약자로 IP 헤더의 전체 길이를 나타냄. IHL의 필드값은 4비트 단위로 헤더길이를 나타내기 때문에 필드 값이 5일 경우 4비트*5=20비트 임을 나타낸다.
  • total length : IP 패킷(헤더+페이로드)의 총 길이를 의미
  • 단편화 영역
    • 두번째 줄은 모두 패킷 단편화에 관련된 필드이다.
    • 이전에 설명했듯 보통 패킷의 MTU는 1500이다. 따라서 패킷이 이보다 크면 패킷도 MTU 크기 아래로 맞추기 위해 단편화가 진행된다.
    • Identification : 패킷의 순서를 식별하는데 사용되는 고유 번호 즉, 말그대로 식별자이다
    • Flags : 패킷이 단편화되었을 때, 패킷이 남았는지 끝났는 지 알려주는 플래그 필드 값
    • Frgment offset : 패킷이 단편화되었을 떄, 해당 필드 값을 바탕으로 올바른 순서로 재구성함
profile
둔한 붓이 총명함을 이긴다

0개의 댓글