티스토리 뷰
728x90
지난시간에 이어 네트워크 OSI 7계층을 마저 정리해 보려고 합니다!!
전기신호(물리계층) - 0과 1로 이루어진 데이터, 스위치(데이터링크계층) - 라우터(네트워크 계층) 순까지 통신이 되는걸 알아봤는데요.
이어서 전송계층 부터 정리해보겠습니다.
4. Transport Layer- 전송 계층
• 대부분 TCP 프로토콜을 이용하며, 포트(Port)를 열어 응용프로그램들이 송수신 할 수 있게 해주는 역할.
• Port 번호로 통신
• 통신 단위: 세그먼트(Segment)
• 프로토콜: TCP/UDP
• 장비: L4 스위치
TCP 프로토콜 (Transmission Control Protocol)
- 패킷 손실, 중복, 순서 바뀜이 없도록 신뢰적인 전송 보장
- 송신하기전 데이터를 여러개의 패킷으로 나눠 도착지로 전송 → 도착지에서 나누어진 패킷 재조립
- 데이터 전송단위: 세그먼트
- UDP에 비해 속도 ↓
UDP 프로토콜 (User Datagram Protocol)
- 패킷을 나누지 않으며 순서 상관없이 데이터를 보냄 → 도착지에서 에러처리 등 똥치워야 함
- 데이터 전송단위: 블록형태 다이어그램
- 속도는 확실히 빠름
포트(Port)
기기에 있는 여러 응용프로그램들을 구분하기 위해 필요한 번호.
전송 계층 흐름
도착지 IP에 잘 도착했다고 가정할게요.
해당 IP의 컴퓨터는 아래 두개의 응용프로그램을 실행하고 있는데요.
'네입어'에 데이터를 전달하는거면 헤더에 Port: 8000을,
'캌아오'에 데이터를 전달하는거면 헤더에 Port: 9000을 붙여서 전송 합니다.
사실 Port 번호는 생략되어 있을뿐 데이터 전송측에서 이미 알고 있어요. ex) 네이버의 Port = 80
데이터 보내는 컴퓨터 | 데이터 받는 컴퓨터 |
↓ Port: 8000 data | Port: 8000 data ↑ |
↓ 192.168.11.2 Port: 8000 data | 192.168.11.2 Port: 8000 data ↑ |
↓ 1111 0001 ~~~~ 0000 | 1111 0001 ~~~~ 0000 ↑ |
전기신호 | 전기신호 |
5. Session Layer - 세션 계층
• 기기간 네트워크 연결을 관리하고 지속하는 역할 (사용자가 브라우저를 열어 서버에 접속하고 종료할때 까지의 시점)
• TCP/IP 세션 생성, 삭제
• 통신 단위: 메시지(Message)
• 프로토콜: SSH, NetBIOS
SSH
- 원격 컴퓨터에 안전하게 액세스 하기 위한 프로토콜
- 모든 데이터는 암호화
- 트래픽은 압축되어 더 빠른 전송
NetBIOS
- 근거리 통신망 내에서 통신 할 수 있게 해주는 프로토콜
6. Presentation Layer - 표현 계층
• 데이터를 안전하게 전송하기 위해 데이터 암호화, 복호화 하는 역할. (데이터 변환 작업)
• 통신 단위: 메시지(Message)
• 프로토콜: JPEG - 이미지 표준 규격
MPEG - 멀티미디어(비디오, 오디오) 표준 규격
jpg, txt, gif ...
응용계층(Application Layer)에서 전달 또는 전송하는 데이터를 압축 및 암호화
7. Application Layer - 응용 계층
• 사용자에게 보이는 부분으로 직접 상호작용하며, 대표적으로 크롬(Chrome), 사파리(Safari) 등이 있음.
• User Interface를 제공하는 계층
• 통신 단위: 메시지(Message)
• 프로토콜: HTTP, FTP, SMTP, Telnet 등
HTTP (*HyperText Transfter Protocol)
- 텍스트 기반의 통신규약으로 인터넷에서 데이터를 주고 받을 수 있는 프로토콜
- 현재는 이미지, 비디오, 오디오 등 모든 형식의 데이터 전송 가능
*HyperText: 전자 기기에서 볼 수 있는 텍스트 (데이터)
FTP (File Transfer Protocol)
- TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일을 전송하기 위한 프로토콜
Telnet
- 인터넷이나 로컬 영역에서 네트워크 연결에 사용되는 네트워크 프로토콜
통신 플로우
- 발신하는 측에서 data를 전달할때 응용계층 ~ 물리계층 까지 각 계층마다 헤더를 붙여 캡슐화
- 수신하는 측 역순으로 물리계층 ~ 응용계층 까지 헤더를 떼어내어 디캡슐레이션 진행
- 최종 목적지인 수신측 응용계층에 데이터 전달.
참고
728x90
'CS (Computer science)' 카테고리의 다른 글
[CS] Hash Table(해시 테이블) (0) | 2023.07.06 |
---|---|
[CS] 네트워크 - OSI 7계층 (1 ~ 3계층) (2) | 2023.06.04 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- swift reduce
- swift programmers
- swift (programmers)
- RIBs tutorial
- ios
- Swift 프로그래머스
- swift property
- 2023년 회고
- Swift
- Swift 내림차순
- Swift init
- Combine: Asynchronous Programming with Swift
- 원티드 프리온보딩
- Swift final
- Swift 알고리즘
- RTCCameraVideoCapturer
- Swift Leetcode
- Swift joined
- Class
- swift 고차함수
- swift protocol
- iOS error
- Swift Error Handling
- Swift inout
- Swift 프로퍼티
- Swift joined()
- Swift ModernRIBs
- CS 네트워크
- Swift RIBs
- removeLast()
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함