초기에는 여러 정보통신 업체 장비들은 자신의 업체 장비들끼리만 연결이 되어 호환성이 없었다.
⇒ 모든 시스템들의 상호 연결에 있어 문제 없도록 표준을 정한 것이 바로 OSI 7계층인것
[제 1계층] 물리 계층(Physical Layer) : BIT
- 물리적 매체를 통해 비트 흐름을 전송하기 위해 필요한 기능 등을 조정
- 데이터는 0,1의 비트열
- 케이블 종류, 무선 주파수 링크, 핀, 전압 등의 물리적인 요건을 의미
- 대표 장비 : 케이블, 리피터, 허브
[제 2계층] 데이터 링크 계층(Data Link Layer) : FRAME : wifi
- 가공되지 않은 내용의 전송을 당담하는 물리층을 신뢰성 있는 링크로 변환
- 노드 대 노드 전달
- 대표 장비 : [스위치] 원하는 목적지에 데이터 패킷을 전송하는 장치
- L2스위치
[제 3계층] 네트워크 계층(Network Layer) PACKET
- 패킷을 발신지로부터 여러 네트워크를 통해 목적지까지 전달
- 대표 장비 : [라우터] : L3스위치
- 내부망과 외부망 연결
- LAN(Local Area Network:근거리 통신망)을 연결해 주는 장치
- 최종 목적지에 가기 위하여 거쳐야하는 많은 경로들 중에 적절한 통신 경로를 결정하기 위하여 한 통신망에서 다른 통신망으로 데이터 패킷을 전송하는 장치
- IP출발주소 목적 주소
[제 4계층] 전송 계층(Transport Layer) : TCP/UDP : segment
- 프로세스 대 프로세스 전달
- 데이터가 오류없이 순서에 맞게 중복되거나 없어지는 오류 없이 잘 전송되도록 관리하고 분할과 재조립 프로세스간 정보 흐름 조정 등을 수행
- 대표적인 프로토콜 : TCP / UDP
[ TCP( Transmission Control Protocol ) 프로토콜 ]
- TCP 헤더
총 20Byte의 헤더 ( 아무 옵션도 없는 기본 헤더일 경우, 최대 60byte )
출발지와 목적지 포트번호
전송하는 데이터의 순서( 올바른 순서로 재조립 할 수 있게 함 )
data offset : 데이터가 시작되는 위치
checksum : 오류 검출을 위한 값
플래그가 많다.(인증)
[TCP 3-way handshake ] : TCP연결을 초기화 할 때 사용
- 접속 : 3-way handshake → 장치들 사이에 논리적인 접속을 성립하기 위하여 사용
- 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정을 의미
- 단계 1 :클라이언트는 SYN 패킷을 보내고 SYN/ACK 응답을 기다리는 SYN_SENT 상태, 서버는 wait for client 상태이다.
- 클라이언트는 서버에 접속을 요청하는 SYN 패킷을 보낸다.
- 단계 2 :서버는 클라이언트가 ACK로 응답하기를 기다리는 SYN_RECEIVED 상태가 된다.
- 서버는 SYN 요청을 받고 클라이언트에게 요청을 수락한다는 ACK와 SYN flag가 설정된 패킷을 발송
- 단계 3 :이 때, 서버는 ESTABLISHED(확립) 상태이다.
- 클라이언트는 서버에게 ACK를 보내고 이후부터 연결이 이루어지고 데이터가 오가게 되는 것
[TCP 4-way handshake ] : 세션을 종료하기 위해 수행되는 절차
[STEP 1]
클라이언트가 연결을 종료하겠다는 FIN플래그를 전송
이때 클라이언트는 FIN-WAIT 상태가 된다.
[STEP 2]
서버는 FIN플래그를 받고, 일단 확인메시지 ACK 보내고 자신의 통신이 끝날때까지 기다리는데 이 상태가 서버의 CLOSE_WAIT상태다.
[STEP 3]
연결을 종료할 준비가 되면, 연결해지를 위한 준비가 되었음을 알리기 위해 클라이언트에게 FIN플래그를 전송한다. 이때 서버의 상태는 LAST-ACK이다.
[STEP 4]
클라이언트는 해지준비가 되었다는 ACK를 확인했다는 메시지를 보낸다.
클라이언트의 상태가 FIN-WAIT ->TIME-WAIT 으로 변경됨
[ UDP(User Datagram Protocol) ]
- UDP 헤더
총 8Byte의 헤더.
발신지, 체크섬 —> 선택입력 필드
네트워크 혼잡처리, 패킷손실에 대한 어떤 처리도 하지 않음 .... —> 프로토콜치고 너무 하는 일이 없음 (별명: NULL 프로토콜)
[ TCP&UDP 비교 ]
- 메시지를 무사히 운반할 수 있다는 보장이 없음 ( 신뢰성이 보장되지 않음 )
- 메시지를 순서대로 운반할 수 없음
- 커넥션 상태 트래킹 없음
- 혼잡 제어 없음
- TCP보다 용량이 가볍고 송신속도가 빠름 ( 실시간 전송에 적합 )
[제 5계층] 세션 계층(Session Layer)
- 응용 계층 간의 대화를 제어 ( 상호작용 및 동기화 )
- 세션 계층의 데이터는 암호, 로그인 확인 정보를 포함하는 등 연결을 시도하는 호스트의 자격을 인정할 만한 정보를 수록
- 세션의 신뢰성은 세션을 여러 하위 세션으로 나누고, 세션의 흐름 속 검사점인 동기화 지점을 삽입함으로써 보장이 됨연결을 한번 확립시킨다면 사용자가 임의로 종료시킬때가지 그 연결을 쭈욱 확립시켜 줌
- 문제, 이벤트가 발생할 경우 제일 마지막 동기화 지점부터 다시 시작
[제 6계층] 표현 계층(Presentation Layer) : 네트워크의 데이터 번역자
- 표준화된 응용 계층의 접속과 공통적인 통신 서비스를 제공하기 위해 데이터에 일반적으로 유용한 변환을 수행
- 정보를 교환하는 시스템이 표준화된 방법으로 데이터를 인식할 수 있도록 해주는 역할을 수행
- 예) 번역, 압축, 암호화, 보안 등
[제 7계층] 응용 계층(Application Layer)
- 응용 프로세스와 직접 연계하여서 다양한 네트워크 응용 환경을 지원 (WWW를 위한 프로토콜인 HTTP 동작)
- 사용자에게 가장 직접적으로 보이는 부분이 바로 이 응용 계층에 해당하는 것
- 구글의 크롬과 같은 브라우저나 스카이프, 아웃룩 등의 응용프로그램이 이 응용 계층에서 동작
'네트워크 > 개인공부' 카테고리의 다른 글
[ DOCKER ] 도커 관련 명령어 (0) | 2022.10.02 |
---|---|
네트워크 관련 용어 정리(1) (0) | 2022.06.21 |