-
CS Internet, Network 요약기타/CS 2024. 4. 8. 00:43728x90반응형
인터넷 네트워크
• 인터넷 통신
• IP(Internet Protocol)
• TCP, UDP
• PORT
• DNS인터넷 통신
인터넷에서 컴퓨터 둘은 어떻게 통신할까?
클라이언트와 서버의 구조를 이루어서 통신한다.1. IP(인터넷 프로토콜)
1 - 1. IP주소
IP 통신에 필요한 고유 주소
통신 기능이 제공되는 기기들이 서로 통신을 하기 위해 필요한 고유 번호이다.
고유한 식별자 역할을 하는 숫자 문자열
인터넷의 모든 디바이스에는 고유한 IP 주소가 할당된다.
1 - 2. IP
인터넷 프로토콜 역할
• 지정한 IP 주소(IP Address)에 데이터 전달
• 패킷(Packet)이라는 통신 단위로 데이터 전달
1 - 3. IP 패킷 정보
IP 패킷
출발지 IP, 목적지 IP, 기타...
전송 데이터
1 - 4. IP 프로토콜의 한계
• 비연결성
• 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
• 비신뢰성
• 중간에 패킷이 사라지면?
• 패킷이 순서대로 안오면?
• 프로그램 구분
• 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면?
2. TCP UDP
2 - 1. 인터넷 프로토콜 스택의 4계층
애플리케이션 계층 - HTTP, FTP
전송 계층 - TCP, UDP
인터넷 계층 - IP
네트워크 인터페이스 계층
2 - 2. 프로토콜 계층
1. 프로그램이 Hello 메세지 생성
2. SOCKET 라이브러리를 통해 전달
3. TCP 정보 생성, 메시지 데이터 포함
4. IP 패킷 생성, TCP 데이터 포함
5. LAN 드라이버와 LAN 장비 등을 이용해서 전송
2 - 3. TCP/IP 패킷 정보
출발지 IP, 목적지 IP, 기타...
출발지 PORT, 목적지 PORT
전송 제어, 순서, 검증 정보...
전송 데이터
2 - 4. TCP 특징
2 - 4 - 1. 전송 제어 프로토콜(Transmission Control Protocol)
• 연결지향 - TCP 3 way handshake (가상 연결)
• 데이터 전달 보증
• 순서 보장
• 신뢰할 수 있는 프로토콜
• 현재는 대부분 TCP 사용2 - 4 - 2. TCP 3 way handshake
1. SYN 클라이언트 -> 서버
2. SYN+ACK 서버 -> 클라이언트
3. ACK 클라이언트 -> 서버
4. 데이터 전송 클라이언트 -> 서버
SYN: 접속 요청
ACK: 요청 수락
참고: 3. ACK와 함께 데이터 전송 가능
2 - 4 - 3. 데이터 전달 보증
1. 클라이언트가 데이터 전송 시
2. 서버는 데이터 잘 받았다고 답변
2 - 4 - 4. 순서 보장
1. 클라이언트가 패킷1, 패킷2, 패킷3 순서로 전송
2. 서버에 패킷1, 패킷3, 패킷2 순서로 도착하면
3. 서버가 클라이언트에 패킷2부터 다시 보내라고 요청2 - 5. UDP 특징
사용자 데이터그램 프로토콜(User Datagram Protocol)
• 하얀 도화지에 비유(기능이 거의 없음)
• 연결지향 X - TCP 3 way handshake X
• 데이터 전달 보증 X
• 순서 보장 X
• 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
• 정리
• IP와 거의 같다. +PORT +체크섬 정도만 추가
• 애플리케이션에서 추가 작업 필요
3. PORT
한번에 둘 이상 연결해야 하는 상황이 생길 수 있다.
클라이언트
IP: 100.100.100.1
서버
웹 브라우저 요청
IP: 200.200.200.2
게임
IP: 200.200.200.3게임하면서 유튜브도 보고 싶은데,
IP당 하나의 연결만 가능하다면 그럴 수가 없다.
컴퓨터를 하나 더 사면 되지만, 그럼 비용이 들게 된다.
PORT - 같은 IP 내에서 프로세스 구분고정적으로 사용되는 다음의 IP는 주의하자
• 0 ~ 65535 할당 가능
• 0 ~ 1023: 잘 알려진 포트, 사용하지 않는 것이 좋음
• FTP - 20, 21
• TELNET - 23
• HTTP - 80
• HTTPS - 4434. DNS
4 - 1. 도메인 네임 시스템(Domain Name System)
• 전화번호부
• 도메인 명을 IP 주소로 변환
4 - 2. IP는 기억하기 어렵다.
클라이언트 서버
IP: 100.100.100.1 IP: 200.200.200.2
4 - 3. IP는 변경될 수 있다.
클라이언트 서버
IP: 100.100.100.1 IP: 200.200.200.2
과거 IP
IP: 200.200.200.2신규 IP
IP: 200.200.200.3
4 - 4. DNS 사용
예시
클라이언트 서버
IP: 100.100.100.1 IP: 200.200.200.2
DNS 서버
도메인 명 IP
google.com 200.200.200.2
aaa.com 210.210.210.3위 상황에서, 클라이언트가 접속 시도 시 아래의 순서로 진행된다.
1. 도메인 명 google.com 클라이언트 -> DNS 서버
2. 응답: 200.200.200.2 DNS 서버 -> 클라이언트
3. 접속 200.200.200.2 클라이언트 -> 서버
728x90반응형'기타 > CS' 카테고리의 다른 글
CS HTTP 상태코드 (0) 2024.04.08 CS HTTP 메서드 활용 (0) 2024.04.08 CS HTTP 메서드 (0) 2024.04.08 CS HTTP (0) 2024.04.08 CS URI, URL, URN (0) 2024.04.08