반응형
250x250
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

짧은코딩

TCP/IP 4계층 모델-계층 구조 본문

CS/네트워크

TCP/IP 4계층 모델-계층 구조

5_hyun 2022. 7. 21. 23:35

Internert Protocol Suite

Internert Protocol Suite는 프로토콜의 집합이다. 이를 TCP/IP 4계층 모델이나 OSI 7계층 모델로 설명한다. TCP/IP(Transmission Control Protocol/Internet Protocol) 4계층은 프로토콜의 네트워킹 범위에 따라 네 개의 추상화 계층으로 구성된다.

 

계층 구조

위에서 설명했듯이 TCP/IP 4계층 모델과 OSI 7계층 모델이 있다.

OSI 7계층은 애플리케이션을 3개로 쪼개고, 네트워크 계층을 2개로 쪼갠 것이 다르다. 그리고 인터넷 계층을 네트워크 계층이라고 부르는 것도 다르다. 이 계층들은 특정 계층이 변경되어도 다른 계층에 영향을 받지 않는다.

 

이 사진은 각 계층을 대표하는 스택을 정리한 그림이다.

 

애플리케이션 계층

-에플리케이션 계층의 프로토콜들

  • FTP: 장치 간의 파일 전송하는데 사용되는 표준 통신 프로토콜
  • SSH: 보안되지 않은 네트워크에서 서비스를 안전하게 하기 위한 암호화 네트워크 프로토콜
  • HTTP: WWW을 위한 웹 사이트를 이용하는데 쓰는 프로토콜
  • SMTP: 전자 메일 전송을 위한 표준 통신 프로토콜

-DNS

DNS는 도메인 이름과 IP 주소를 매핑해주는 서버이다. 예를 들어 www.naver.com에서 DNS 쿼리가 오면 Root DNS -> .com DNS ->.naver DNS -> .www DNS 과정을 거쳐 IP 주소를 매핑한다. 이를 통해 IP 주소가 예를 들어 222.111.222.111에서 222.111.222.122로 IP 주소가 바뀌어도 www.naver.com 이라는 것을 알 수 있다. 

 

=> 이것들 외에도 응용 프로그램이 사용되는 프로토콜 계층이며 웹 서비스, 이메일 등 서비스를 실질적으로 고객에게 제공하는 계층이다.

 

전송 계층

전송 계층은 송신자와 수신자를 연결하는 통신 서비스를 제공한다. 

 

-TCP와 UDP

https://shortcoding.tistory.com/300

 

패킷 교환 방식, TCP와 UDP의 차이, 흐름 제어와 혼잡제어

패킷 교환 방식 -데이터 패킷 교환 방식 데이터를 전송하기 전 논리적 연결이 되어 있지 않고 패킷이 독립적으로 간다. 패킷을 수신한 라우터는 최적의 경로로 패킷을 전송하는데 분할된 여러

shortcoding.tistory.com

TCP와 UDP는 따로 정리 한 글을 보면 될 것 같고 더 상세한 내용을 이 글에다 적으려고 한다.

 

-TCP의 3-way handshake

클라이언트와 서버가 통신할 때 사진처럼 세 단계를 거친다.

 

SYN: 접속 요청, ACK: 요청 수락

 

1. SYN 단계

클라이언트는 서버에 ISN을 담아서 SYN(연결 요청 플래그)을 보낸다. ISN은 새로운 TCP 연결의 첫번째 패킷에 할당된 임의의 시퀀스 번호이며 장치마다 다르다.

 

2. SYN + ACK 단계

서버는 클라이언트가 보낸 SYN을 수신하고 서버의 ISN을 보내며 승인 번호로 클라이언트가 보낸 ISN에 +1을 해서 보낸다.

 

3. ACK 단계

클라이언트는 서버의 ISN에 +1 한 값을 승인 번호로 담아 ACK(응답 플래그)를 서버에 보낸다.

최근에는 많이 최적화되어서 이 단계에서 ACK와 같이 데이터도 전송한다.

 

=> 이 과정을 하고 나서 신뢰성이 구축되고 데이터 전송이 시작된다.

 

-TCP 연결 해제 과정(4-way handshake)

위 과정은 TCP 연결하는 과정을 살펴봤다.

TCP가 연결을 해제할 때는 4-way handshake를 한다.

 

1. 클라이언트가 FIN으로 설정된 세그먼트를 보낸다. 그러면 클라이언트는 FIN_WAIT_1 상태가 된다.

2. 서버는 ACK라는 승인 세그먼트를 보내고 CLOSE_WAIT 상태가 된다. 클라이언트가 ACK를 받으면 FIN_WAIT_2 상태가 된다.

3. 서버는 ACK를 보내고 일정 시간 후에 클라이언트에 FIN이란 세그먼트를 보낸다.

4. 클라이언트는 TIME_WAIT 상태가 되고 클라이언트가 ACK를 보낸다. 그러면 서버는 CLOSED 상태가 된다. 이후 클라이언트는 일정 시간 대기하고 연결이 닫히고 모든 자원의 연결이 해제된다.

 

이 과정에서 TIME_WAIT를 잘 봐야한다. 일정 시간 뒤에 닫는 이유가 있기 때문이다.

1. 지연 패킷이 발생할 경우

패킷이 늦게 오면 이를 처리하지 못하기 때문에 데이터 무결성 문제가 발생하기 때문이다.

2. 두 장치가 연결이 닫혔는지 확인하기 위해서

만약 서버가 LAST_ACK를 보낸 상태에서 연결이 끊기면 다시 새로운 연결을 하려고 할 때 연결이 되지 않는다.

 

인터넷 계층

인터넷 계층은 패킷을 원하는 IP 주소로 전송하기 위해 사용되는 계층이다. IP, ARP, ICMP 등이 있고 패킷을 수신하는 상대 주소를 지정해 데이터를 전달한다. 하지만 상대방이 잘 받았는지는 보장하지 않는 비연결형적인 특징을 가지고 있다.

 

링크 계층

링크 계층은 전선, 광섬유, 무선 등으로 데이터를 주고 받는 신호 규칙을 정하는 계층이다. 네트워크 접근 계층이라고도 한다.

링크 계층은 물리 계층과 데이터 링크 계층으로 나누기도 한다. 물리 계층은 유/무선 LAN을 이용해 0, 1로 데이터를 보내는 계층이다. 데이터 링크 계층은 이더넷 프레임을 이용해 에러 확인, 흐름 제어, 접근 제어를 한다.

유선

유선 LAN은 이더넷 IEEE802.3 프로토콜을 이용해 전이중화 통신을 사용한다.

 

-CSMA/CD(Carrier Sense Multiple Access with Collision Detection)

CSMA/CD 방식은 유선 LAN이며 반이중화 통신이다. 이전에는 이 방식을 사용했고 데이터를 보낸 후 충돌이 발생하면 다시 재전송을 한다. 수신로와 송신로를 각각 두지 않고 한 경로로 보내기 때문에 데이터 충돌을 고려해서 만들었기 때문이다.

  • 반이중화 통신(half duplex): 장치간 통신이 가능하지만 동시에 통신은 할 수 없다. 한 번에 한 방향만 통신이 가능하다. 따라서 충돌 방지 시스템이 필요하다. 

-CSMA/CA

CSMA/CA는 반이중화 통신 중 하나이며 장치에서 데이터를 보내기 전에 캐리어 감지 등으로 충동을 방지한다.

 

과정

1. 데이터 송신 전 무선 매체 확인

2. 캐리어 감지: 회선이 비었는지 확인

3. IFS(Inter FrameSpace): 랜덤 값으로 정해진 시간을 기다린다. 만약 무선 매체가 사용 중이면 더 오래 기다린다.

4. 데이터를 송신한다.

무선(WLAN, Wireless Local Area Network)

공기에 주파수를 쏴서 무선 통신망을 구축한다. 이때 주파수 대역은 2.4GHz 혹은 5GHz 대역을 사용한다. 2.4GHz는 장애물에 강하지만 전파 간섭이 일어나는 경우가 많다. 따라서 상대적으로 깨끗한 5GHz를 사용한다.

 

-와이파이

와이 파이를 사용하려면 공유기가 부르는 무선 접속 장치(AP, Access Point)가 있어야 한다. 유선 LAN에 흐르는 신호를 무선 LAN으로 바꿔서 무선 인터넷을 사용할 수 있게 된다. 무선 LAN을 사용하는 다른 기술은 지그비, 블루투스 등이 있다.

 

-BBS(Basic Service Set)

BBS는 기본 서비스 집합이다. 단순 공유기를 통해 네트워크에 접속하지 않고 동일 BBS 내에 있는 AP들과 장치들이 서로 통신 가능한 구조이다. 근거리 무선 통신을 제공하지만 하나의 AP 기반으로 이루어져 있어서 이동하면서 네트워크 접속은 불가능 하다.

-ESS(Extended Service Set)

ESS는 하나 이상 연결된 BBS 그룹이다. 장거리 무선 통신을 제공하고 BBS보다 가용성과 이동성이 좋다. 즉 다른 장소로 가도 네트워크를 사용할 수 있다.

이더넷 프레임

링크 계층은 이더넷 프레임을 이용해서 데이터 에러를 검출하고 캡슐화한다.

  • Preamble: 이더넷 프레임 시작
  • SFD(Start Frame Delimiter): 다음 바이트부터 MAC 주소 필드가 시작된다는 것을 알림
  • DMAC, SMAC: 송신, 수신 MAC 주소
  • EtherType: IP 프로토콜이며 IPv4 혹은 IPv6
  • Payload: 전달받은 데이터
  • CRC: 에러 확인 비트

-MAC 주소

각 장치에는 네트워크에 연결하기 위한 LAN 카드가 있는데 이를 구별해주는 식별번호이다.

728x90
반응형
Comments