오래 못 할 짓 하지 않기
네트워크 1 본문
Client - Server
Server 란 ?
: 네트워크를 통해 클라이언트에게 여러 서비스를 제공하는 것
--> server는 client 에서 온 Request를 받아서 Respond를 주는 역할을 함
Client 란?
: Server의 서비스를 요청하고 받아서 사용하는 장치, 프로그램
(더 깊게) 서버에 알맞은 형태로 요청을 하고 그 결과를 사용자에게 알맞게 전달하는 매체
ex) 프로그램 : 브라우저, 사파리, 네이버 앱 / 장치: 컴퓨터, 스마트폰, 데스크탑
Protocol 란?
: 컴퓨터와 > [ 컴퓨터 or 단말기 ] 에서 정보를 주고받기 위하여 정한 통신 규약
ex) 파일을 주고받을 땐 어떻게 할 건지, 기종이 다르면 어떻게 변환할건지.
예시로는 http (웹 서버>인터넷 브라우저 사이 문서를 전송할 때 사용)
Port 란?
데이터가 밖으로 나오거나 들어가기 위한 출입구와 같다
IP 주소를 건물의 주소에 비유한다면, 포트 번호는 “호실"로 비유된다. 컴퓨터 네트워크에서 프로토콜, IP 주소, 포트 번호를 비유하자면, “어떤 방법(프로토콜)“으로 “어느 건물(컴퓨터, IP)“의 “몇 호실(몇번 포트)“에 연락(통신)을 할 것인가? 와 같은 형태로 바꿀 수 있다.
(출처) https://www.devkuma.com/docs/port/
Protocol 종류
http /https
- 웹에서 이루어지는 데이터 통신 방식
- 클라이언트의 요청이 있을 때, 서버가 응답하고 전송 후 연결 종료 (단방향 통신)
= 정보 주고 바로 나감
1) http - 80 port
: 암호화가 되어있지 않아서 보안에 취약함
인터넷에서 정보를 주고 받기 위한 프로토콜
2) https (s=secure) - 443 port
: http + SSL(Secure Socket Layer)
네트워크에서 제 3자가 볼 수 없도록 공개키 암호화를 지원
LAN / WAN
LAN (Local Area Network) : 지역 네트워크
WAN (Wid Area Network) : 광역 네트워크
LAN : IP를 사용하는 전자기기들끼리 연결이 가능하도록 해주는 네트워크, 학교에서 컴퓨터끼리 연결해주는 것
WAN : LAN에 있는 전자기기가 다른 LAN에 있는 전자기기에 통신을 하게 해주는 네트워크
ex) KT , SKT , LG
+ 다른 LAN에 연결을 하기위해서는 Router를 거쳐서 특정 경로로 Host간에 연결을 해줌
Router : 하나의 통신망에서 또 다른 통신망으로 통신할 수 있도록 도와주는 역할
TCP / IP 4계층
TCP( Transmission Control Protocol)
IP (Internet Protocol)
계층을 나누어 각자의 역할을 나누어놓고, 처리 영역을 나누어 놓음으로써 서로에 대한 간섭을 최소화하였다.
밑으로 내려갈수록 캡슐래이션이 되어 점점 포장하고
위로 올라올수록 캡슐이 벗겨짐
1. Application Layer
-> 사용자와 가장 가까운 계층 / 사용자 - 소프트웨어 간 소통 을 담당한다.
-> Application 을 실행하기 위한 데이터 형식이 작성됨
-> 프로토콜 : HTTP(S) (웹) ,FTP (File 전송) , SSH (console 작업) 등등
응용 프로그램에서 데이터를 처리하는 계층
2. Transport Layer
-> 전송 주소는 Port , 데이터 단위는 Segment이다.
(-> 캡슐화 단계 : 통신 노드 간 데이터 전송)
(-> 역캡슐화 단계 : 포트 번호를 통해서 데이터를 Application에 전달을 담당)
-> 프로토콜 : TCP,UDP
어플리케이션에서 넘어온 데이터에 대한 검증, 재전송 등 각종 제어를 담당함
3. Internet Layer
-> 전송 주소 ( = IP(논리 주소) ) 할당
-> Transport로 받은 패킷을 최종 목적지까지 라우팅을 담당
데이터를 목적지까지 효율적으로 전달하는 방법을 담당하는 계층
4. Network Access Layer
-> 데이터를 전기신호로 변환한 뒤, 알맞은 기기로 데이터를 전달을 담당
/ MAC (물리 주소 참조)
실질적으로 데이터를 전송하는 계층
Client 가 Internet에 파일을 Encapsulation해서 보내면 MAC주소를 맞춰서 간다.
Server가 그 파일을 Internet에서 받아서 Decapsulation한 뒤에 원하는 프로그램에 요청하고
그렇게 요청해서 받은 정보를 Encapsulation해서 Internet을 통해 Client에게 보낸다.
Domain name / IP address
- Domain name : IP Address를 사람이 기억하기 위해 만든 주소
-> 도메인 영역에 대한 IP주소와 Domain이름 저장
root 도메인 아래 여러 단계로 나누어진다. root 다음 Top level domain 다음 second level ...
(순서는 뒤에서 부터) sub - second level domain - Top lv- root
- DNS Server
: 저렇게 도메인처럼 사람이 기억하기 쉬운 주소로 넣었을 때, 그거의 실제 IP는 어떤 거다 하는 역할
- IP Address : 인터넷 상에서 호스트를 식별하기 위해 사용되는 주소
ex) 203.252.112.10 인데, 외우고 치기 힘드니까 Domain name을 쓴다.
종류 : IPv4 - 8비트 4개 -> 000.000.000.000
IPv6 - 차세대 인터넷 주소 체계
- 도메인 체계
ex) 청와대 게시판 주소 (.) ( <안써도 됨 )-> 국가코드 (kr) -> go -> 희망 문자열
(희망문자열)president.go.kr
DNS Process (도메인 주었을 때, 그 주소가 어떤 IP를 갖고있는지)
ex)
1. user가 hisnet.handong.edu를 입력
2. user의 컴퓨터에서 local cache를 검색 후 기록이 있으면 그 IP를 가져와서 Request를 보냄
(request를 보냈는데 정보가 없다 하면 그 주소가 틀렸거나 바뀌었다는 거)
기록이 없으면 user 컴퓨터에 있는 hosts라는 파일에 가서
hosts 파일 : user가 @@@ 주소의 IP는 ##이거야 라고 직접 기입해놓은 파일
-----------------1,2번은 내 컴퓨터에서 먼저 작업해보는 것 ------------
1.2에도 없다?
3. 내 로컬 DNS server에 해당 주소를 요청
없으면 top level domain server를 요청!
1) Root 에 (top level domain) edu를 주고, 거기에서 edu top level server정보를 가져옴
2) edu name server에 가서 handong.edu 이거를 물어보고, 그거에 관한 정보를 가져옴
3) handong.edu server에 가서 hisnet.handong.edu를 입력하면, 그거에 관한 정보를 가져옴
이렇게 주소 다 찾았으면 가져와, 그걸 내 컴퓨터로 가져와서, 그 가져온 주소로 요청
Ssh , ftp(sftp)
SSH (Secure Shell) : port - 22
SFTP (Secure FTP) : port - 22
FTP ( File Transfer Protocol) : port - 21
출처 : 한동대학교 장소연교수님 - OSS 실습 PPT
'2학년 1학기 > 오픈소스 소프트웨어 ( OSS )' 카테고리의 다른 글
라즈베리파이 3 (웹호스팅) (0) | 2023.05.16 |
---|---|
라즈베리파이 2 (명령어) (0) | 2023.05.16 |
네트워크 용어 정리 (0) | 2023.05.10 |
라즈베리 파이 1 (0) | 2023.05.09 |
네트워크 2 (0) | 2023.05.05 |