Kwonlog
로그인
Kwonlog
로그인
시스템 프로그래밍(13)
조권휘
·
2022년 8월 30일
팔로우
0
OS
linux
network
protocol
socket
tcp
시스템 프로그래밍
0
시스템 프로그래밍
목록 보기
13/14
Protocol
error가 발생하지 않도록 단계를 미리 정해두는 것
여러 계층으로 구성되어 있다.
계층마다 지원하는 특징이 각각 다르다.
OSI 7 layers
Physical layer
electrical signaling system
주로 전선 사이이 계층
Data link layer
인접한 노드들 사이의 error-free communication
MAC layer : LAN(link/bus)과 노드들의 연결
Point to Point : node끼리 연결
Network layer
routing : IP를 찾아가는 역할
routing과 IP가 주 역할
Transport layer
host간에 end-to-end communication
TCP / UDP
Session layer
session 유지 / 관리 / 서비스 제공, error 관리
Presentation layer
암호화, network-std-data format, libraries...
Application
ftp, email, web, telnet...
open API 서비스
Layer 구조
각 layer에는 pocket header를 붙이거나 떼면서 이동한다.
message가 매체에 맞게 분할/합체(fragmentation)될 수 있다.
각 layer는 MTU(Maximum Transfer Unit)을 가지는데, 각 data segment의 최대 크기를 의미한다.
Protocol service
DHCP(Dynamic Host Configuration Protocol)
client에게 dynamic IP 주소를 할당한다.
NAT(Network Address Translation)
공용 IP 주소를 공유한다.
DNS(Domain Name Server)
URL(symbol) 을 IP 서비스로 전환한다.
VPN(Virtual Private Network)
집단간에 private network를 제공한다.
TCP/IP, UDP/IP
TCP/IP, UDP/IP는 전통적인 인터넷 protocol이지만, OSI 제공 모델이 약간씩 다르다.
IP : network layer
TCP/UDP : transport layer
IPv4 Address Types(32bits)
A~D class로 나뉘며 각 class는 제일 앞의 수가 정해져있다.
A class는 0~127, Bclass는 128~191, ...
Client/Server Model
client/server : client 프로그램 ↔ server 프로그램
web-based : web browser(client) ↔ web server(server)
Peer-to-peer(P2P) : 각 node가 server와 client가 동시에 될 수 있다.
server demon은 항상 client의 연결을 대기하고 있다.
client는 (IP address, Port #)을 이용하여 server에 연결을 시도한다.
Connection-oriented / Connectionless
Connection-oriented communications
TCP(Transmission Control Protocol)에 사용된다.
link를 만들어 놓은 뒤 data를 주고 받는다.
안정적이며 대량의 data를 주고받기 좋다.
매번 connection을 만들어야하기 때문에 server가 link를 감당하기 힘들어진다.
간단한 data를 주고받을 때도 link를 만들어야한다.
Connectionless communication
UDP(User Datagram Protocol)에 사용된다.
서버 부하가 없다.
간단한 data를 주고받을 때 용이하다.
link가 없어서 신뢰성이 좋지 않다.
조권휘
안녕하세요 :) Data/AI 공부 중인 한국외대 컴퓨터공학부 조권휘입니다.
팔로우
이전 포스트
시스템 프로그래밍(12)
다음 포스트
시스템 프로그래밍(14)
0개의 댓글
댓글 작성