네트워크

이동훈·2022년 12월 22일
post-thumbnail

TCP/IP 5(4) Layer

•OSI 7 Layer가 나오기 전에 미국 국방부에서 개발된 프로토콜
•호환성, 장비 개발에 측면에서는 OSI 모델이 더 많이 사용되지만, 실질적인 통신에는 TCP/IP 모델이 사용된다.

  • 흔히 인터넷 5계층이라 불리워서 그렇게 기억하고 있었는데,
    정확한 이름으로는 TCP/IP 5계층이었다.

  • 4계층이 먼저 등장했고, 시간이 지나며 TCP/IP Updated의 5계층 모델은 Link를 다시 두 레이어로 세분화하고, Internet 명칭을 Network로 다시 변경했다는 차이가 있다. TCP/IP Updated 모델은 현재 전 세계 표준으로 적용 중.

  • TCP와 IP는 별도의 네트워크 프로토콜이다.
    IP 주소를 발견하면 TCP는 데이터 전달을 담당 -> 대체적으로 둘이 같이 쓰이기 때문에 TCP/IP 명칭이 붙은 것.

  • IP는 데이터가 전송되는 주소를 얻는다(IPv4,v6). TCP는 해당 IP주소를 찾으면 정확한 데이터 전달을 보장해준다. 그러나 TCP 독자적으로 활동할 수 없기 때문에 반드시 IP주소가 필요.

  • 예시) IP = 스마트폰에 할당된 전화번호, TCP = 다른 사람과 통화할 수 있게 하는 모든 기술


[1계층 / 물리 계층 / Physical Layer]

  • 물리적 연결(랜 케이블, 동축 케이블, 광케이블 등)을 위한 계층
  • 데이터 전송 단위 : 비트 스트림(Bit Stream)

[2계층 / 데이터링크 계층 / Data Link Layer]

  • 노드 간에 상호 통신에서의 오류제어, 흐름제어를 담당
  • 데이터링크 계층은 MAC(물리 계층 연결)과 LLC(네트워크 계층 연결)로 나누어진다.
  • MAC : NIC(Network Interface Card)마다 하나씩 가지고 있는 48bits의 고유한 주소로, 물리적 주소라고도 한다.
  • 대표 장비 : 스위치, 브리지
  • 데이터 전송 단위 : 프레임(Frame)

[3계층 / 네트워크 계층 / Network Layer]

  • 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할(라우팅)을 수행
  • 경로를 찾기 위한 주소로 논리적 주소인 IP를 사용한다.
  • 대표 장비 : 라우터
  • 데이터 전송 단위 : 패킷(Packet)

[4계층 / 전송 계층 / Transport Layer]

  • 통신의 양 끝단 사용자들의 신뢰성 있는 전송을 보장
  • 프로세스를 식별하기 위한 Port Number를 사용한다.
    • Port : [0-1023] 잘 알려진 포트 / [1024~49151] 등록된 포트 / [49152~65535] 동적 포트
  • 데이터 전송 단위 : 세그먼트(Segment)

[5계층 / 세션 계층 / Session Layer]

  • 동기화, 세션 연결/관리/종료 -> OS에서 지원
  • 전송모드(양방향, 전이중, 반이중, 단방향)을 결정
  • 데이터 전송 단위 : 데이터(Data)/메시지(Message)

[6계층 / 표현 계층 / Presentation Layer]

  • 압축과 암호화를 담당
  • 데이터 전송 단위 : 데이터(Data)/메시지(Message)

[7계층 / 응용 계층 / Application Layer]

  • 각종 응용서비스 제공
  • 데이터 전송 단위 : 데이터(Data)/메시지(Message)

무선 LAN

half duplex / full duplex

유선 인터넷은 half/full duplex를 모두 지원하지만,

무선 인터넷은 아직까지는 half duplex를 사용한다.
이는 현재 상용중인 wi-fi 6의 경우에도 마찬가지. 해당 표준이 개발될 즈음에는 무선에 쓰이지 않았기 때문.

반이중화의 경우 주파수 영역을 나눈 FDD, 시간 영역을 나눈 TDD 방식을 사용하여 충돌을 피한다.

FDD : Frequency Division Duplex

주파수를 나누어서 Uplink, Downlink를 동시에 사용할 수 있도록 한다.  

단, 주파수를 나누어 사용하기 때문에 한번에 전송가능한 양 또한 줄어든다.

TDD : Time Division Duplex

시간을 나누어서 Uplink 한번, Downlink 한번씩 돌아가며 사용할 수 있도록 한다.

기본적으로 주어진 주파수 bandwidth 를 온전히 쓸수 있지만 시간을 나누어 사용하기 때문에 연속적인 전송은 불가능.

TCP/UDP

TCP: 가상회선 패킷 교환 방식 -> 연결 지향+신뢰성 구축 -> 순서 보장
UDP: 데이터그램 패킷 교환 방식 -> 패킷 순서도, 정해진 회선도 없음.

TCP 연결 시 3-way handshake 과정을 통해 신뢰성을 구축하고 (서로 연결된 가상회선 확보) 통신한다.
UDP는 이런 과정이 없고 광범위하게 뿌려버리기 때문에 신뢰성을 가지지 못한다.

연결 시) 3-way handshake


뭔가 복잡해보이지만 결국 이거다

1단계) SYN - 들려?
2단계) SYN + ACK - ㅇㅇ 야너두?
3단계) ACK - 야나두


해제 시) 4-way handshake

★ TIME-WAIT를 가져야 함
-> 지연 패킷으로 인한 연결 오류 방지

1) 클라이언트에서 서버와의 연결 종료를 위해 서버에 FIN 패킷을 보내고 FIN_WAIT1 상태로 전환

  • 반대로 서버에서 먼저 끊을 수도 있다.

2) 서버는 클라이언트로부터 FIN을 받고 응답 패킷 ACK을 보낸다. 상태는 CLOSE_WAIT로 전환

3) 서버가 통신이 끝나면, 즉 연결을 종료할 준비가 되면 클라이언트에게 FIN패킷을 보내고 LAST_WAIT 상태로 전환

4) 클라이언트는 확인 패킷 ACK을 보내고 TIME_WAIT 상태로 전환


NW

LAN의 정의) ARP 프로토콜이 닿는 것이 LAN의 범위.
ARP 프로토콜) IP-> MAC 프로토콜.

보안, 성능 상의 이유로 Vlan 나눔 (서브넷 마스크)

보안: 하나에 다 연결됨
성능: 10개는 괜찮아도 1000개 트렁크 감당 가능?

라우터 -> L2 스위치를 사용하는 이유.

LAN과 다른 LAN 간의 통신이 인터넷임. (MAN, WAN)

이렇게 나누면 브로드캐스팅 영역이 나뉘기 때문에 L3으로 거슬러 올라가 통신이 필수

L2는 포트 1:1
허브는 브로드캐스팅

L7 스위치는 L5 L6 기능 포함. 보안 스위치라고도 부름
L4가 IP주소, PORT까지 읽어볼 수 있고
L7은 패킷내용까지 다 보고 검사가 가능해서.

아 L4부터 로드 밸런싱

profile
Fool Snack Developer

0개의 댓글