네트워크
- 장치간 interconnection
- 여러 장치간 동의한 규약인 프로토콜을 기반으로 상호 연결을 해서 인터넷 작동
LAN
- 제한된 크기
- 대부분 조직에서 사적으로 소유한 네트워크
- 낮은 비용
- 쉬운 설치
- 빠른 속도
WAN
- LAN 보다 넓은 범위를 연결
- point to point WAN : 장거리의 두 디바이스 간 연결
- switched WAN : 두 개 이상의 디바리스를 연결하는 네트워크 / 스위치로 연결
- 느린 속도
- 높은 비용
- 복잡한 설치
스위칭
- circuit switched
- 양 단간 시스템 사이에서 사용 가능한 전용 연결 (회선)
- 스위치를 circuit (회선)을 끄고 킬수만 있음
- paceket switched
- 양단간 소통시 교환하는 데이터 블록 = 패킷
- 이 네트워크의 라우터는 큐를 저장하고 보내는 큐로 구성됨
- 인터넷 = 패킷 교환 네트워크 기반
인터넷
- 두 개 이상의 네트워크가 상호소통하는 것
- 인터넷 접근 : Dial-up 서비스, DSL, 케이블 (휴대전화 네트워크), 케이블 네트워크, 무선 네트워크, 인터넷에 직접 연결
프로토콜 레이어링
- 프로토콜 : 송수신지가 합의한 통신 규약으로 효율적인 커뮤니케이션을 위해 매개 장치들도 모두 따라야 하는 규약
- 양 단간 소통 과정에서 여러 계층에서 필요한 작업을을 수행해야 한다.
인터넷 프로토콜
- addressing host
- routing packets (source → destination)
- 패킷 포맷 정의
- 어드레싱 시스템 제공
- ISP : Internet service provider - 인터넷 연결을 원하는 사람들에게 서비스 제공
TCP/IP 프로토콜 suite
- Transmission Control Protocol / Internet Protocol
- 오늘날 인터넷에서 사용되는 프로토콜
- 계층적
- physical → data link → network → tranpsort → application
- 스위치 : 물리, 데이터 링크 계층
- 라우터
- 물리, 데이터 링크, 네트워크 계층
- 두 개 이상의 링크가 라우터에 연결되어 있기 때문에 캡슐 / 디캡슐화 모두 수행
- 송수신지 : 물리, 데이터 링크, 네트워크, 전송, 애플리케이션 계층
- 송신지
- 애플리케이션 계층에서 메시지를 생성
- 하위 계층으로 보내 물리적으로 송신지에 도달하게 함
- 캡슐화만 수행
- 수신지
- 물리 계층에서 메시지를 받고
- 애플리케이션계층으로 메시지를 전달
- 전달받은 패킷을 디캡슐화 → 페이로드 제거하고 페이로드를 다음 계층 프로토콜로 전달
- 애플리케이션 계층
- 두 프로세스 간 소통
- 이를 위해 프로세스가 다른 프로세스에 요청을 보내고 응답을 받음
- 전송 계층
- 애플리케이션 계층에 서비스하는 역할
- 실행중인 송신지 애플리케이션 프로그램으로부터 메시지를 받고
- 수신지의 애플리케이션 프로그램으로 메시지를 전달
- 네트워크 계층
- 송수신 컴퓨터간 연결 생성
- 호스트 - 호스트 연결
- 데이터 링크 계층
- 데이터그램이 돌아다닐 수 있는 연결 구간을 오버랩핑
- 라우터가 최선의 링크 선택
- 데이터가 갈 다음 링크도 라우터가 선택
- 링쿠를 통해 데이터그램이 이동하는 것 담당
- 물리 계층
- 링크를 통해 프레임 내의 개별적 비트들이 이동하는 것
- addressing
- 소통을 위해 송수신지 주소 필요
- 애플리케이션 계층 - names으로 주소를 찾고 메시지를 전달
- 전송 계층 - 포트넘버로 주소 찾고 세그먼트 전달
- 네트워크 계층 - 논리적 주소로 찾고 데이터그램 전달
- 데이터 링크 계층 - 링크 계층 주소로 찾고 프레임 전달
- 물리 계층 - 비트로 전달
- multiplexing
- 한번에 하나의 계층에서 여러 개의 다음 레벨 계층으로 패킷을 encapsulate 하는 것
- demultiplexing
- 한번에 패킷을 decapsulate 하며 여러개의 다음 레벨 계층으로 전달하는 것
TCP
- HTTP, FTP, Telnet, SSL, SMTP
- 연결 지향
- 신뢰 가능
- 자동-재전송
- 느림
- 스트림 기반 데이터
UDP
- DNS, DHCP, NTP, SNMP
- 비연결
- 신뢰성 낮음
- 애플리케이션이 재전송을 수행해야 함
- 매우 빠른 전송 속도
- 메시지 기반 데이터
인터넷 표준
- 인터넷에서 작동하는 것들이 지켜야 하는 명세
- 엄격한 규제
- RFC : Request For Comment
- 성숙 단계
- proposed standard
- 여러 다른 그룹에 의해 실험되고 구현되는 명세
- 명세가 안정되고 이해되며 충분히 흥미로움
- draft standard
- proposed 다음
- 최소 두개의 성공적인 독립적, 상호호환적 구현된 상태
- internet standard
- draft가 성공적인 구현에 도달한 상태
- historic
- 역사적 관점으로부터 중요한 RFC
- experimental
- 인터넷 작동에 영향을 미치지 않는 실험적 상태
- informational
- general, historical, tutorial 을 포함한 단계
- 벤더와 같은 비 인터넷 단체에 의해 작성된 것
- proposed standard
- Requirement 단계
- required : 모든 인터넷 시스템들이 반드시 구현해야 하는 것
- elective : 반드시는 아니지만 권고되는 것 → 사용하면 이점이 있음
- limited use : 제한된 상황에서만 사용해야 하는 것으로 라벨링된 RFC
- not recommended : 일반적으로 사용되는 것을 권고하지 않는 RFC
OSI model
- Open Systems Interconnection
- 네트워크 상에서 상호소통을 위해 애플리케이션들이 취해야 하는 방식
- vs TCP/IP
- OSI 모델은 네트워크 상에서 데이터 전송에 필요한 단계를 정의하며 이상적인 상태를 표현함 → 계층 단계 (7) (prescribe)
- TCP/IP가 실용적인 프로토타입 (describe)
'컴퓨터 공학 > 컴퓨터 네트워크' 카테고리의 다른 글
[컴퓨터 네트워크] Transport Layer 전송 계층 기본 개념 정리 (0) | 2021.05.02 |
---|---|
[컴퓨터 네트워크] Application layer 애플리케이션 계층 기본 개념 정리 (0) | 2021.05.02 |
[컴퓨터 네트워크] Chapter4) Network Layer 네트워크 계층 (0) | 2021.04.20 |
[Python3/컴퓨터 네트워크] 소켓 프로그래밍 : html request를 보내는 클라이언트와 request 받은 파일을 찾아 웹 브라우저로 보여주는 서버 프로그램 (0) | 2021.04.08 |
[Python3/컴퓨터 네트워크] 소켓 프로그래밍 : 간단한 server-client 프로그램 만들기 (0) | 2021.04.08 |