Major`/컴퓨터 네트워크(32)
-
[Network] 애플리케이션 계층 : DNS
DNS (Domain Name System) - 호스트 네임(도메인 네임)을 IP주소로 변환해주거나 IP주소를 호스트네임으로 변환해주는 서비스 - DNS 서버들은 계층구조로 구현된 분산 데이터베이스이다 DNS 서비스 (1) 호스트 네임을 IP 주소로 변환 - user가 url창에 호스트 네임을 치면 DNS가 해당 호스트 네임을 IP주소로 변환해준다 www.yahoo.com → 202.165.107.50 www.google.com → 142.250.196.132 (2) 호스트 에일리어싱 (Host Aliasing) - 어떤 사이트의 정식 호스트 네임은 굉장히 복잡하다 그렇기 때문에 외부에는 복잡한 호스트 네임대신 간단한 호스트 네임 :: 별칭을 알려준다 - 호스트 에일리어싱 : user가 입력한 호스트 네..
2022.02.11 -
[Network] 애플리케이션 계층 : SMTP - POP3/IMAP
전자메일 (E-Mail)의 주요 요소 1. 사용자 에어전트 (User Agent) 2. 메일 서버 (Mail Server) 3. SMTP (Simple Mail Transfer Protocol) (1) 사용자 에이전트 (User Agent) - 메일 메시지를 읽고/쓰고/보내주는 프로그램 Gmail / Outlook / Thunderbird / .... (2) 메일 서버 (Mail Server) - 메일 박스, 메시지 큐로 구성된다 ▶ 메일 박스 - user가 받는 메시지를 저장/관리한다 user마다 메일박스가 구분되어 존재한다 사용자 User 1 User 2 User 3 User 4 메일 박스 Box 1 Box 2 Box 3 Box 4 ▶ 메시지 큐 - user가 보내는 메시지가 저장된다 user마다 구..
2022.02.11 -
[Network] 애플리케이션 계층 : HTTP
HTTP - 웹의 Application-Layer Protocol - HTTP를 통해서 인터넷상에서 데이터를 주고받을 수 있다 - 웹 페이지는 여러 객체들로 구성되어 있다 객체 : 이미지 파일/HTML 파일/오디오 파일/.... 객체는 서버 호스트 이름/경로 이름, 즉 URL로 지정된다 www.google.com/image.jpg 클라이언트-서버 모델을 따른다 Client (웹 브라우저) 1. 웹 객체를 서버에 요청 2. 서버로부터 요청한 객체를 받는다 3. 해당 객체를 display Server (웹 서버) 1. Client의 Contact를 기다린다 2. Request를 받으면 Reqeust한 객체를 보내준다 TCP 사용 - Client : (서버 IP주소 + 포트번호 80)을 이용해서 TCP 연결 ..
2022.02.10 -
[Network] Application Architecture
Application Architecture 클라이언트 - 서버 구조 (Client - Server) ▶ 서버 (Server) - 항상 켜져있는 Host :: 항상 인터넷에 연결되어 있다 - 고정 IP 주소 - Client가 많은 경우, 데이터 센터 형식으로 확장 ▶ 클라이언트 (Client) - 반드시 서버와 통신을 해야 한다 :: 클라이언트끼리 통신 X - 유동 IP 주소 :: 인터넷에 연결될 때마다 변경 가능 - 인터넷에 연결되고 끊김을 반복한다 P2P 구조 (Peer to Peer) Peer : Communication 하는 User의 호스트 - 하나의 Peer는 다른 Peer에게 서비스를 제공하기도 하고 서비스를 요청하기도 한다 높은 자기 확장성(Self-Scalability) - 서버가 없고 ..
2022.02.06 -
[Network] HTTP Status Code
1xx : Information Responses Request를 받았고 Process를 계속 진행 주요 Status Code Status Text 100 Continue - 진행 중임을 의미한다 - 현재까지의 진행상태에 문제가 없다 - Client가 계속해서 요청을 하거나 이미 요청을 완료한 경우에는 무시해도 된다 101 Switching Protocols - Client에 의해 보낸 업그레이드 요청 헤더에 대한 응답 - Server에서 Protocol을 변경할 것임을 알려준다 - Websocket 프로토콜 전환 시 사용 102 Processing (WebDAV) - Server가 Request를 수신했고, 이를 처리하고 있지만 아직 제대로된 Response를 할 수 없을 때 2xx : Successf..
2022.02.06 -
[Network] HTTP 메시지
HTTP 통신 방식 1. 요청 - 응답 (Request - Response) 구조로 되어 있다 - Client가 HTTP Request를 보내면 Server가 HTTP Response를 보내준다 2. Stateless하다 - HTTP는 상태(state)를 저장하지 않는다 각각의 요청/응답은 독립적인 요청/응답이다 Ex) Client가 요청을 보내고, 응답을 받은 후 :::: 조금 있다가 다시 요청을 보내면 전에 보낸 요청/응답에 대해서 기억하지 못한다 >> 따라서, 여러 요청/응답에 대한 과정/Data가 필요할 경우 쿠키/세션 등을 사용하게 된다 쿠키 : 길게 저장 세션 : 짧게 저장 HTTP 메시지 Request 구조 (1) Start Line (Request Line) Method - Client의 ..
2022.02.06 -
[Network] Packet Delay/Loss/Throughput
Packet Delay (1) 노드 처리 지연 (Nodal Processing Delay) - Packet이 Node에 도착하면 해당 Node에서는 Packet에 대한 Processing을 시작한다 Packet이 오류없이 잘 도착했나 (Error Check) 이 Packet을 어느 Link로 보내줘야 하는가 >> 만약 해당 Link가 사용 중이다 ≫ 큐잉 지연 발생 (2) 큐잉 지연 (Queuing Delay) - 해당 Packet을 Buffer(Queue)에 잠시 저장해놓는다 해당 Buffer에서 나갈 차례를 기다린다 해당 Node의 Congestion에 따라 큐잉 지연의 시간은 달라진다 (가변적) ※ 트래픽 강도 (Traffic Intensity) - 큐잉 지연의 정도를 측정한다 Queue가 매우 커..
2022.02.05 -
[Network] Network Core - Circuit Switching/Packet Switching
Host의 Packet 전송 1. Application Message를 받는다 2. 해당 Message를 Packet으로 분할 (분할된 Packet의 크기 : L) 3. Host와 Access Network를 연결하는 Link로 해당 Packet을 전송 (Link 대역폭 : R) >> Host에서 Packet 하나를 내보내는데 걸리는 시간 : L/R[sec] Network Core - 상호 연결된 Router/Switch의 연결망(Mesh) Network Core의 목적 → Source에서 Destination까지 user의 Application Message를 전달 - 전달방식 : Circuit Switching / Pakcet Switching Circuit Switching - 주로 Telephon..
2022.02.04 -
[Network] Network Edge / Access Network / Network Core
Network Edge - Network를 사용해야 하는 Device들이 존재한다 컴퓨터 / 서버 / 휴대폰 / 노트북,... 수많은 Host or End System 들이 Network Edge상에 존재 Access Network - End System들이 Network에 접근하기 위해 제공되는 Network Network Core에 접속하기 위한 Network End System들이 Internet을 사용할 수 있도록 길을 터준다 종류 가정 접속(Residential Access) : 집 기관 접속(Company Access) : 학교/회사/기관 무선 접속(Wireless Access) 고려사항 1. Access Network의 대역폭 (Bandwidth : 1초당 보낼 수 있는 bit의 양) 2. ..
2022.02.03 -
[Network] 인터넷이란?
Internet - 네트워크들의 네트워크 구성 요소 ▶ Host (End System) - Network Edge에 존재하는 Network를 사용해야 하는 Device 컴퓨터 / 서버 / 휴대폰 / 노트북 등이 Host라고 할 수 있다 이러한 Device들은 Application Program을 실행하기 때문에 Host라고 불린다 ▶ Communication link - 다양한 전송률(Transmission Rate / Bandwidth)로 Data(Packet)를 보내는 통로 꼬임선 / 동축케이블 / 광섬유케이블 / 전파 / 위성 등이 존재 ▶ Packet Switch - Data(Packet)을 전달하는 매개체 라우터 / 스위치가 존재 프로토콜 (Protocol) - Data를 송수신할 때 해당 통신..
2022.02.03 -
[Network] 응용 계층 (Application Layer)
응용 계층 (Application Layer) - Application과 사용자가 Data를 주고받기 위한 인터페이스를 제공 - 클라이언트 : 서비스를 요청 - 서버 : 서비스를 제공 - 클라이언트 → 서버로 Data를 보내려면 응용계층 프로토콜을 사용해야 한다 프로토콜 포트 번호 내용 HTTP (HyperText Transfer Protocol) 80 웹 사이트 접속 DNS (Domain Name System) 53 이름 해석 SMTP (Simple Mail Transfer Protocol) 25 메일 송신 POP3 (Post Office Protocol Version) 110 메일 수신 FTP (File Transfer Protocol) 20 이름 해석 Telnet 23 원격으로 접속 가능 WWW란?..
2022.01.31 -
[Network] 표현 계층 (Presentation Layer)
표현 계층 (Presentation Layer) - (캡슐화) 응용 계층으로부터 받은 Data를 세션 계층으로 보내기 전에, 통신에 적절한 형태로 변환 - (역캡슐화) 세션 계층에서 받은 Data를 응용 계층에 맞게 변환하는 역할 Data 표현 차이를 해결하기 위해서 Data를 각 계층에 맞게 변환 - Data를 어떻게 표현할지 정하는 역할 - Network의 시스템 별로 Data의 표현 방식이 다른데 이를 하나의 통일된 구문 형식으로 변환하는 기능을 수행 Incoding / Decoding - 대표적 프로토콜 : ASCII / MPEG / JPEG / MIDI / SSL Data 표현 방법 ▶ 추상 문법 - 각 컴퓨터에서 사용하는 Data 표현 규칙 ▶ 전송 문법 - Network 전체에서 일관성을 지..
2022.01.31