TCP와 UDP의 차이
전송계층, TCP/IP, Transmission Control Protocol, User Datagram Protocol
TCP: 신뢰성, HTTP, SMTP, FTP, Unicast
UDP: 간단한(짧은) 데이터, 빠른 속도, DNS, DHCP, Broadcast, Multicast
TCP | UDP |
---|---|
Connection-oriented protocol(연결지향형 프로토콜) | Connection-less protocol(비 연결지향형 프로토콜) |
Connection by byte stream | Connection by message stream |
Congestion / Flow control(혼잡제어, 흐름제어) | NO Congestion / Flow control(혼잡제어와 흐름제어 지원 X) |
Ordered, Lower speed(순서 보장, 상대적으로 느림) | Not ordered, Higher speed(순서 보장되지 않음, 상대적으로 빠름) |
Reliable data transmission(신뢰성 있는 데이터 전송 - 안정적) | Unreliable data transmission(데이터 전송 보장 X) |
TCP packet : Segment | UDP packet : Datagram |
HTTP, Email, File transfer | DNS, Broadcasting |
TCP
신뢰성, 세그먼트, 안정적, 순서, 에러없이, 연결형, 3-way handshaking 연결, 4-way handshaking 연결해제, Flow control, 흐름제어, 속도조절, 오버플로우 방지, window size, Congestion control, 혼잡제어, Reliable transmission, Dupack-based retransmission, Timeout-based retransmission, 전이중, Full-Duplex, 양방향, 점대점, Point to Point, 2개의 종단점 -> 멀티캐스팅 브로드캐스팅 지원하지 않음
TCP Header
- Source Port, Destination Port, Sequence Number(순서), ACK Number(응답), Data Offset, Reserved, Flag Bit(제어비트), Window, Checksum, Urgent Pointer
ACK Number
TCP 연결 및 해제 과정
- TCP Connection (3-way handshake)
- TCP Disconnection (4-way handshake)
UDP Header
- Source Port, Destination Port, Data length, Checksum
PDU
Protocol Data Unit, Layer, Header
Segment(Transport): data + application 발신지 포트, application 목적지 포트, 순서 번호, 오류 검출 코드(체크섬, 프레임 체크 시퀀스)
Packet(Network): segment + 발신 컴퓨터 IP, 수신 컴퓨터 IP, 서비스 요청
SDU(Service Data Unit): 상하향 통신 레이어 간 전달되는 실제 정보
PDU = PCI(프로토콜 통신 유닛의 줄인말로 쉽게 말하면 헤더 정보) + SDU
DHCP, DNS Protocol
DHCP(Dynamic Host Configuration Protocol) - 동적 호스트 설정 프로토콜: IP address, SubnetMask, default gateway IP, DNS server IP address 를 자동으로 일정 시간 할당해주는 인터넷 프로토콜, 임대(Lease)개념, IP Lease Time, IP address Renewal, IP address Release -> 유동 IP 할당
DHCP 서버: 인터넷을 제공해주는 곳의 서버에서 실행되는 프로그램
DHCP 클라이언트
DHCP 임대절차: DHCP Discover, DHCP Offer, DHCP Request, DHCP Ack
DNS(Domain Name Server), Name Server
- DNS 절차
IP Routing 동작 과정
분배, 중계, IP네트워크, 서브넷 관리, 라우터, 라우팅, 전송 경로 선택(결정)
랜테이블, 네트워크테이블, 라우팅테이블 - 연결된 모든 장치의 주소를 인식, 패킷의 전송경로 결정
K-MOOC 인공지능을 위한 알고리즘과 자료구조: 이론, 코딩, 그리고 컴퓨팅 사고
1-1. 자료구조/알고리즘의 정의와 중요성 (18:53)
- 알고리즘이 옳다 == 1.모든 가능한 인풋 인스턴스에 대해서 옳은 값을 출력 해야한다.. 2.이 알고리즘이 반드시 종료되어야 한다.
- 알고리즘 != 프로그램
- computational thinking
1-2. 강좌의 목표와 실습 환경(24:58)
- Asymptotic algorithm analysis
2-1. 배열과 리스트(21:09)
- array
- linked list
2-2. 스택과 큐(13:31)
- stack, LIFO, Top, Push, Pop - 괄호 매칭(balanced or unbalanced)문제
- queue, FIFO, Front(head), Rear(back, tail), Enqueue, Dequeue, Liner Queue, Circular Queue
3-1. 트리 자료구조(14:01)
- 노드, 계층, root, children, parent -Directory structure, degree, sibling, leaf, internal, Unordered & Ordered, Paths, path length, Depth, Height, Ancestor, Descendant, linked list로 구현
3-2. 그래프 자료구조(23:22)
- Objects(vertices), Relationship(arcs, links), Undirected Graphs, Directed Graphs, edge, Degree, Sub-Graphs, vertex, Paths, path length, trivial path, simple path, simple cycle, Connectedness, connected graph, unconnected graph, Weighted graphs, path length of weighted graph, shortest path, trees < graphs, Forests, Directed Graphs, In and Out Degrees, Sources and Sinks, strongly connected, weakly connected, Directed Acyclic Graphs(DAGs)
- Binary-relation list
- adjacency matrix
- adjacency list
학습 내용에 대한 개인적인 총평
-
다음 학습 계획
- Network 보충
- K-MOOC 알고리즘 강의 4강부터
'Temp' 카테고리의 다른 글
20210215, 블로그 기록 방법, 문서 정리, 아이디어 (0) | 2021.02.17 |
---|---|
20210216, Netwhat 단계별로 밟아가기 (IP ~ OSI 7 Layer) (0) | 2021.02.17 |
20210206, 프로그래머스 문제 (0) | 2021.02.08 |
20210205, 프로그래머스 문제 (0) | 2021.02.08 |
20210204, 프로그래머스 문제 - 스택/큐 (0) | 2021.02.08 |