5주차
네트워크
1. OSI 7 계층
- OSI 7 계층의 구조
- 프로토콜
1960~1970년대에는 각 업체가 자신들의 컴퓨터끼리 네트워크를 사용해서 데이터를 통신했다.
컴퓨터와 통신에서 사용하는 기기, 프로토콜을 자신들의 규격으로 만들어서 사용했다.
때문에 다른 회사와는 규격이 달라 호환되지 않는 경우가 많았다.
표준을 만들려고 했지만 실패했다.
그래도 "통신을 하려면 대충 이런 것들이 필요하다더라"는 정립이 됐는데 이게 OSI 7 layer
각 계층마다 각각의 역할과 규칙이 있다.
계층을 구분하는 이유는 모듈화를 함으로써 문제가 생겼을 때 해당 계층만 수정할 수 있기 때문이다.
하위 계층은 상위 계층을 위해 일하고 상위 계층은 하위 계층에 대해 관여하지 않는다.
7. Application Layer
프로토콜을 이용해서 서비스를 사용하는 것을 의미한다.
최종 목적지로서 HTTP, FTP, SMTP, POP3, IMAP, Telnet 등과 같은 프로토콜이 있다.
해당 통신 패킷들은 방금 나열한 프로토콜에 의해 모두 처리되며 우리가 사용하는 브라우저나, 메일 프로그램은 프로토콜을 보다 쉽게 사용하게 해주는 응용프로그램이다. 한마디로 모든 통신의 양 끝단은 HTTP와 같은 프로토콜이지 응용프로그램이 아니다.
6. Presentation Layer
응용 계층에서 받은 데이터를 세션 계층에 맞게 변환하거나, 세션 계층에서 받은 데이터를 응용 계층에 맞게 변환한다.
코드 변화, 데이터 암호화, 데이터 압축, 구문 검색, 정보 형식 변환
인코딩이나 암호화 등의 동작이 이 계층에서 이루어진다.
예를 들면, EBCDIC로 인코딩된 문서 파일을 ASCII로 인코딩된 파일로 바꿔 주는 것,
해당 데이터가 TEXT인지, 그림인지, GIF인지 JPG인지의 구분 등이 표현 계층의 몫이다.
5. Session Layer
세션 계층(Session layer)은 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공한다.
동시 송수신 방식(duplex), 반이중 방식(half-duplex), 전이중 방식(Full Duplex)의 통신과 함께, 체크 포인팅과 유휴, 종료, 다시 시작 과정 등을 수행한다.
https://hydroponicglass.tistory.com/280
4. Transport Layer
전송 할 수 있게 연결을 설정 및 해제한다.
데이터가 실제 전송되는 구간이다.
전송 계층(Transport layer)은 양 끝단(End to end)의 사용자들이 신뢰성있는 데이터를 주고 받을 수 있도록 해주어,
상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해준다.
전송 계층은 연결 기반(connection oriented)이다.
이는 전송 계층이 패킷들의 전송이 유효한지 확인하고 전송 실패한 패킷들을 다시 전송한다는 것을 뜻한다.
가장 잘 알려진 전송 계층의 예는 TCP이다.
3. Network Layer
이 계층에서 가장 중요한 기능은 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능(라우팅)이다.
여기에 사용되는 프로토콜의 종류도 다양하고, 라우팅하는 기술도 다양하다.
네트워크 연결을 관리한다. (경로 설정, 연결, 해제, 패킷 전송)
관련 장비 : 라우터(네비게이션, 최적의 경로 찾아준다.)
2. Data Link Layer
데이터 링크 계층(Data link layer)은 포인트 투 포인트(Point to Point) 간 신뢰성있는 전송을 보장하기 위한 계층으로
물리 계층에서 발생할 수 있는 오류를 찾아 내고, 수정하는 데 필요한 기능적, 절차적 수단을 제공한다.
점-대-점 통신 또는 포인트 투 포인트(Point to Point) 통신이란?
점대점 통신(Point to Point Protocol, PPP)은 두 점 간을 접속하여 데이터 통신을 할 때 이용하는 광역통신망용 통신 규약이다. 점대점 프로토콜은 인증, 암호화를 통한 전송 및 데이터 압축 기능을 제공한다. 점대점 프로토콜이라고도 불린다.
https://akdl911215.tistory.com/m/378
https://shlee0882.tistory.com/110
1. Physical Layer
전송에 필요한 두 장치간 실제 접속과 절단 등 기계적, 전기적, 기능적, 절차적 특성을 정의한다.
관련 장비 : 리피터(증폭기), 허브
2. TCP 3-way-handshake & 4-way-handshake
포트라는 것은, 연결되는 자리
컴퓨터에서의 포트(port)란 외부의 다른 장비와 접속하기 위한 플러그와 같은 것을 의미합니다.
- TCP 3-way-handshake
https://seongonion.tistory.com/74
- 4-way-handshake
3. TCP 와 UDP
- TCP
TCP는 신뢰성 있는 데이터 전송을 지원하는 연결 지향형 프로토콜입니다. 일반적으로 TCP와 IP가 함께 사용되는데, IP가 데이터의 전송을 처리한다면 TCP는 패킷 추적 및 관리를 하게 됩니다. 연결 지향형인 TCP는 3-way handshaking이라는 과정을 통해 연결 후 통신을 시작하는데, 흐름 제어와 혼잡 제어를 지원하며 데이터의 순서를 보장합니다.
- UDP
UDP는 비연결형 프로토콜로써, 인터넷상에서 서로 정보를 주고받을 때 정보를 보낸다는 신호나 받는다는 신호 절차를 거치지 않고 보내는 쪽에서 일방적으로 데이터를 전달하는 통신 프로토콜입니다. TCP와는 다르게 연결 설정이 없으며, 혼잡 제어를 하지 않기 때문에 TCP보다 전송 속도가 빠릅니다. 그러나 데이터 전송에 대한 보장을 하지 않기 때문에 패킷 손실이 발생할 수 있습니다.
https://cocoon1787.tistory.com/757
https://enlqn1010.tistory.com/9
4. 웹 통신의 흐름
5. HTTP
- HTTP란
HTTP 는 HyperText Transfer Protocol 의 줄임말로 www 상에서 사용하는 프로토콜이다.
1990년 대 팀 버너스리가 월드와이드웹을 만들어서 하이퍼텍스트 문서들을 주고 받기 위한 규약으로 만든 것이 HTTP 이다. 현재에는 문서들 뿐만 아니라 이미지, 비디오, 음성 등 거의 모든 형식의 데이터를 전송하는데 사용 되고있다.
HTTP는 서버와 클라이언트 사이에 요청과 응답을 주고 받는 프로토콜로 우리가 흔히 웹브라우저 주소창에 입력하는 웹 주소인 URL을 통해 요청과 응답이 이루어진다.
실제 전송은 TCP를 통해 이루어 지며 포트는 80번을 이용한다.
https://noahlogs.tistory.com/34
- GET,POST
https://noahlogs.tistory.com/35
- HTTP vs HTTPS
- HTTPS - SSL
SSL(Secure Sockets Layer)은 암호화 기반 인터넷 보안 프로토콜입니다.
'CS > 스터디' 카테고리의 다른 글
cs 스터디 6주차 (0) | 2022.11.22 |
---|---|
cs 스터디 4주차 (1) | 2022.11.13 |
cs 스터디 (3주차) (0) | 2022.11.01 |
cs 스터디 (2주차) (0) | 2022.10.21 |
cs 스터디 (1주차) (0) | 2022.10.17 |