UDP
헤더 8바이트.
비신뢰적인 통신
체크섬으로 최소한의 오류만 검출하나 아무런 조취를 안취함
1대1 1대다 다대다 등등 지원
DNS, DHCP 프로토콜에 사용됨.
TCP보다 빠름.(간단하므로)
TCP
헤더 20바이트
신뢰적이고 연결지향형.
점대점(1대1), 전이중(full-duplex) 방식
네트워크 계층의 IP는 최선형(비신뢰) 통신이므로 tcp에서는 재전송, 흐름제어(tcp buffer 확인), 혼잡제어(tahoe, reno)를 통해 해결.
패킷 간의순서를 유지함.
연결 시 3way handshake. 초기 syn 넘버는 랜덤으로 정해짐. 이전것과 겹칠 가능성 있으므로.
해제 시 4way handshake. 마지막에 서버로 부터 fin 패킷 받더라도 당분간 연결 유지. fin 이전에 보낸 패킷이 아직 도착안했을 수 있으므로
TCP/IP
Application (HTTP, DNS, DHCP)
Transport (UDP, TCP)
Network(Internet) (IP, IPsec) Router (OSPF, BGP)
Link(Datalink) (ARP) Switch (정해진 신장트리경로 따라..)
Physical
라우팅 알고리즘
링크상태(Link State) - 다익스트라 VS 거리 벡터(DIstance Vector) - 벨만포드
HTTP 메소드 : GET / POST / PUT(idempotent) / DELETE / PATCH / TRACE / OPTIONS / CONNECT / HEAD
1xx : 정보전달
2xx : 성공
3xx : 리디렉션 (shortened url)
4xx : 클라이언트 오류. 400(bad request), 401(Unauthorized), 403(Forbidden), 404(Not Found), 409(충돌)
5xx : 서버 오류
CORS : 동일출처정책에 의거하여 외부 도메인 접근 시 허용된 대상에 대해서만 접근을 허용함
REST vs SOAP
쿠키 vs 세션
브라우저에 도메인 주소를 입력하면 벌어지는 일...
DHCP 서버로 부터 ip, 게이트웨이 라우터 ip, dns 서버 ip를 받았다고 가정.
-> 게이트웨이 라우터의 MAC address를 모르므로 ff:ff:ff:ff:ff:ff:ff:ff로 브로드캐스팅. 게이트웨이 라우터 ip를 찾으면 맥 어드레스도 같이 가져옴.
-> 도메인주소메세지를 udp에 담고 목적지 ip는 dns서버, 맥어드레스는 게이트웨이 라우터로 향함.
-> 게이트웨이 라우터는 포워딩 테이블을 참고하여 dns서버가 속한 네트워크로 전달.(BGP)
-> 해당 네트워크에 도착하면 OSPF 내부 라우팅 알고리즘에 의해 마침내 DNS서버로 메세지가 역다중화됨.
-> 해당 주소에 대응되는 ip주소 레코드를 찾아 호스트로 보낸다.
-> 호스트는 마침내 해당 도메인 주소와 http통신을 할 수 있게됨. 그전에 tcp 연결을 하기위해 해당 서버와 3way handshake를 통해 연결을 성사시킴.
-> 이제서야 http get메세지를 보낸다.
-> 해당 서버는 body에 응답메세지를 넣어 호스트로 보냄.
-> 브라우저는 body내부에 있는 html, css, js파일을 읽고 해석하여(DOM) 사용자에게 보여준다.
'DevOps' 카테고리의 다른 글
기타 (0) | 2020.11.21 |
---|---|
데이터베이스 (0) | 2020.11.20 |
운영체제(OS) / 컴퓨터구조 (0) | 2020.11.20 |
자료구조, 알고리즘 (0) | 2020.11.20 |
Java (0) | 2020.11.20 |