World Wide Wep(www,web): 인터넷에 연결된 컴퓨터들 끼리 서로 정보 공유 가능한 공간.
1989년도 CERN의 팀 버너스리가 최초로 발명. 당시 웹의 형태는 문서형태.(+하이퍼 텍스트)
1. 하이퍼텍스트: 정보를 잇는 연결 고리(고리: 하이퍼링크)
- 하이퍼텍스트로 이뤄진 문서(하이퍼링크가 포함되어있음)를 연결하여 웹을 구현
- 꼬리에 꼬리를 물고 확장 연결되는 인간의 뇌와 유사.
- 웹 발명 전의 컴퓨터는 정보를 직선형으로 연결함. 즉, 글을 끝까지 읽어야 다음 내용 확인이 가능했음.
- 웹 발명 이후에는 하이퍼텍스트 활용하여 하이퍼링크를 타고 원하는 정보와 지식을 확장하여 연결.
+ 하이퍼링크: 한 문서에서 다른 문서로의 연결 고리
+ 웹: 서로 연결된 컴퓨터끼리 쉽게 정보를 공유하도록 한 인터넷의 애플리케이션
2. 웹서핑(하이퍼링크 따라 다른 웹페이지로 이동하는 행위) 과정에 꼭 필요한 구성요소
- URL: 웹 페이지 위치
- HTTP: 통신 프로토콜(웹과 웹을 연결함. 국제표준화), 암호화X
- HTML: 웹 페이지에 표시되는 웹 문서. 틀을 짜는 구조, script임
+ 웹서핑 과정
1) url검색 2) HTTP 요청 메시지 3) HTTP 응답 메시지
인터넷/ 네트워크/ 웹
1. 인터넷
- 전 세계에 분산된 소규모 네트워크를 하나로 연결한 거대 네트워크 시스템
- 웹이 발명되기 한참 전, 군사정보 교환을 위한 알파넷으로 시작됨
2. 네트워크와 인터넷
- 네트워크: 컴퓨터와 컴퓨터간 협력을 위해 연결된 망
- 인터넷: 여러 네트워크를 하나로 연결하는 인프라
3. 인터넷과 웹
- 인터넷이서 사용하는 애플리케이션
이메일, 파일전송(FTP), 원격접속(Telnet), 웹(www) --> 웹 == 인터넷의 애플리케이션 중 하나
웹 애플리케이션 구조
1. 웹 애플리케이션 구성요소
- 웹 클라이언트: 웹에 접근할 때 쓰는 프로그램 (크롬, 사파리, 엣지)
- 웹 서버: 크롬으로부터 HTTP요청 받아 데이터를 전달하는 프로그램 (아파치 웹서버, IIS, 엔진엑스) --> 메인셰프
- 웹 애플리케이션 서버: 웹 서버의 일을 나눠 처리한 후 결과를 웹 서버에게 전달하는 서버. --> 부사수
- 데이터베이스: 데이터 저장소. 이미지, 문서, 광고 등 정보를 저장
2. 실무적인 웹 애플리케이션 구조
1) DNS(Domain Name Server)
도메인 이름(google.com)을 IP주소(85.129.83.120)으로 변환하는 기능.
전 세계 IP주소를 모두 기억할 필요 없이 DNS통해 도메인 이름을 IP 주소로 변환하여 연결.
2) Load Balancer
웹 애플리케이션 서버들에 과부하가 걸리지 않도록, CPU와 RAM의 활용률을 모니터링 하여 사용자의 요청을 적절히 분배.
3) 웹 애플리케이션 서버
사용자의 요청을 처리한 후 결과를 웹 서버에 전달.
4) 데이터베이스서버
요청을 처리하기 위해 SQL질의를 통해 저장된 데이터 읽기, 삽입, 삭제 수행.
5) 캐싱(Caching)
서버가 과거에 수행했던 검색 및 연산을 다시 반복하지 않고, 메모리(캐시)에 저장해뒀다가 제공.
--> 속도, 자원효율, 전력효율 향상
6) Job Queue & Job Server
사용자 요청과 큰 연관 없는 작업을 사용자 모르게 백그라운드에서 메인서비스와 동시에 웹 크롤링 진행.
간헐적. 비동기식
7) 전체 텍스트 검색 서비스: 쿼리 입력으로 관련 결과 제공
8) 서비스: 계정, 컨텐츠, 결제
9) 데이터
10) 클라우드 스토리지 & 클라우드 딜리버리 네트워크
로컬 파일 시스템의 데이터를 RESTful API를 활용하여,
HTTP를 통해 클라우드 분산 저장소에 저장하여 접근하도록 함.
웹 동작 원리
1) 웹 브라우저로 이동
2) 주소창에 URL 입력
3) 웹 페이지가 화면에 출력
4) 검색어를 입력
5) 원하는 정보가 담긴 웹 문서 출력
- URL의 구조
1. 웹 애플리케이션 동작
2. 웹 애플리케이션 구현
웹의 발전과 진화
웹 1.0: 단순 정보 검색, 물건구매 목적 >> 기사, 글
웹 2.0: 플랫폼 활용하여 사용자가 정보 작성 및 저장. >> 인스타 , 틱톡 등 소통 가능
+ 데이터를 기업이 소유함
웹 3.0: 개인이 자신의 데이터를 소유하고 관리. 탈중앙 >> 미래의 웹
+ 시멘틱 웹: 컴퓨터가 단어, 문장을 이해하고 논리적 추론을 하는 웹기술
+ 탈 중앙화: 기업과 플랫폼 중심의 데이터 중앙화X, 개인이 통제하는 분산 저장소에 저장 및 관리 >> 데이터 주권 보장 및 개인정보 보호
+ 지능화: 사용자가 검색/ 분석X, AI가 해줌
웹과 네트워크
<네트워크 3요소>
컴퓨터 : 서버, 테스크탑, 노트북, 태블릿, 스마트폰
전송매체 : 랜케이블(유선), 전파(무선)
네트워크 장비 : 스위치, 라우터 >> 물류창고 느낌
1. 전송매체
- 포트(port): 컴퓨터에 각종 장비를 꽂을 수 있는 단자/ URL의 port와는 다른 의미. 전송매체에서의 포트는 실제다.
- 랜포트(LAN port): 네트워크 연결을 위한 포트
- 이더넷 프로토콜: 랜포트에 랜케이블 연결 가능하도록 표준화된 규격
>> 이것들은 유선에서 사용됨. 무선은 전파
2. 랜카드(네트워크 인터페이스 카드=NIC)
랜카드: 디지털 데이터(0/1)를 전기신호로 변환 or 전기신호를 디지털 데이터로 변환.
무선랜카드: 디지털 데이터를 안테나 통해 전파로 변환 or 전파를 디지털로
구조는.. 피피티 확인하셔
3. 랜카드 동작원리
랜카드 동작원리
- 디지털 데이터 > 전기신호/ 전파 등 물리적 신호 > 네트워크로 내보냄
또는 그 반대
- 운영체제에 장치드라이브(Device Driver = LAN Firmware)가 설치되어야 컴퓨터가 랜카드 제어 가능.
장치드라이버
- 컴터는 애플리케이션 프로그램. os. hw. 장치 드라이버(sw)로 구성
- DD는 하드웨어 제어하는 소프트웨어. =펌웨어
- DD는 응용 프로그램과 디바이스 컨트롤러 사이에서, 레지스터와 버퍼 값 제어를 하거나 인터럽트 처리하여 하드웨어 제어.
- 장치마다 별도 존재
네트워크 기초개념
1. 네트워크
컴퓨터 사이에 데이터를 주고받는 통신망. 그리고 통신 과정 전체
2. 네트워크 프로토콜
다수의 컴퓨터 간, 중앙 컴터와 단말기 간 등.. 데이터 통신을 원활히 하기 위한 표준 통신 규약
3. 데이터 통신 네트워크
분산된 정보원의(폰, 노트북 등) 정보를 통신매체를 통해 프로토콜에 따라 전송하기 위한 상호연결시스템.
데이터 통신 5요소
- 메시지
- 전송장치(컴터, 전화)
- 수신장치
- 전송매체(랜선, 전파)
- 프로토콜: 데이터통신과 관련한 규칙.(5G, 와이파이)
4. 프레임: 프로토콜에 의해 교환되고 운반되는 데이터 단위
5. 프레임 VS 패킷
OSI 계층별로 "데이터"를 부르는 이름의 차이.
- TCP: 세그먼트
- IP: 패킷
- Data link: 프레임
- 물리: 비트
여기서부터 중요
1. 프레임 전송과 캡슐화
캡슐화: 상위계층 패킷(IP)에 헤더를 붙여 프레임(Data Link)을 만드는 과정. >> 송신
역캡슐화: 하위계층 프레임에서 헤더를 추출하여 패킷을 만드는 과정. >> 수신
2. 데이터 단위
OSI 7계층에서 규격화된 데이터에는 고유명칭 존재.
계층 상관 없이 사용할 땐 통칭하여 PDU(Protocol Data Unit)이라 부름
3. OSI 7계층과 TCP/IP 4계층
OSI와 TCP/IP의 각 부분을 매칭할 수 있어야 함.
- TCP/ IP 프로토콜을 구현한 HW/SW
TCP/IP계층 / 주요 프로토콜
응용계층 >> HTTP(웹페이지 열람), SMTP(메일송신), POP3(메일수신), FTP(파일 전송), TELNET, SSH
전송계층 >> TCP, UDP
인터넷 계층 >> IP
네트워크 인터페이스 계층 >> 이더넷
- 프로토콜 구현하는 주요 HW/SW
컴퓨터 >> 애플리케이션, OS에 내장된 TCP/IP 소프트웨어, 랜카드, 장치드라이버
네트워크 장비 >> 라우터, 스위치
- TCP/IP 계층 별 기능
1 네트워크 인터페이스 계층: 오류 정정, 흐름 제어, 신호처리 (frame)
2 인터넷 계층: 라우팅, WWW를 IP주소 가지고 찾아감 (packet)
3 전송 계층: 오류 검출, 흐름 제어(PORT, TCP) (segment)
4 응용 계층: 애플리케이션 지원, 인코딩/암호화, 세션관리
4>3>2>1 : 캡슐화
1>2>3>4: 역캡슐화
네트워크 기초 개념 이어서..
1. 네트워크 구성 요소
구성하는 장비를 통칭 노드라고 부름.
송신 컴퓨터에서 수신 컴퓨터까지 데이터가 성공적으로 전송되도록 중간에서 돕는 중계장치!
1-1. 스위치
- 여러 컴퓨터를 연결하여 하나의 네트워크를 만들고, 네트워크 안에서 데이터를 전송하는 장비.
- 전기 콘센트가 부족할 때 멀티탭 사용하듯이, 스위치로 하나의 랜케이블을 여러 컴퓨터에 연결.
- 여러 랜포트를 통해 네트워크 인터페이스 확장
- 자신의 포트에 연결된 컴퓨터의 MAC주소를 학습하고 연결.
[스위치 동작원리]
- MAC주소 테이블
포트번호와 포트에 연결된 컴퓨터의 MAC주소 매핑 테이블
스위치에 프레임(2계층 데이터링크의 데이터)이 수신될 때마다 MAC주소 테이블 갱신.
포트마다 맥주소 할당.
- 컴퓨터1이 컴퓨터3으로 데이터를 보내면, 스위치는 1번 포트로 받아서 3번 포트에 연결된 컴퓨터3에게 데이터 전달.
송신지 MAC주소와 수신지 MAC주소를 포함한 이더넷 헤더를 데이터에 붙여 이더넷 프레임 전송
> 스위치는 프레임의 수신지 MAC주소와 매칭되는 포트 번호로 프레임 전달.
1-2. 라우터
네트워크와 네트워크를 연결하여, 다른 네트워크 간의 데이터 전송을 하는 장비.
스위치로 연결된 네트워크 안의 컴퓨터는, 라우터가 없으면 네트워크 내의 컴퓨터끼리만 데이터 전송가능.
2. 무선 AP(Wireless Access Point, WAP)
유선 네트워크에 랜케이블 없이 무선으로 접속 가능하도록 만든 네트워크 장비.
무선 AP를 스위치나 라우터에 랜 케이블로 연결하여 무선 네트워크를 만들면,
무선 AP와 일정 거리 안에 있는 컴퓨터들은 무선 AP를 통해 유선 네트워크에 접속할 수 있음.
ㄴ 와이파이: 무선 방식으로 유선 네트워크와 같은 수주의 정확한 통신 환경 제공.
3. TCP/IP
인터넷 접속을 위한 통신 규약. 전 세계의 모든 컴퓨터가 사용
TCP프로토콜+IP프로토콜 >> IP주 소체계를 사용하여, 신뢰성 높은 데이터 통신이 가능
3-1. IP(Internet Protocol)
- OSI 7계층 중 제 3계층 프로토콜
- TCP/IP 내의 모든 프로토콜에서 패킷전송을 수행하는 프로토콜.
- 데이터 전송 시, 데이터는 분할되어 패킷화됨.
- 패킷에 IP헤더가 추가되어 데이터그램이 됨
- TCP, UDP, ICMP등 상위층 데이터를 호스트 주소에 따라 상대방에게 전송하는 역할.
/
[IP의 기능]
- 단편화: IP 헤더 참소하여 전송계층의 어느 프로토콜에 데이터를 전달할지 판단.
- 패킷 생성시간의 생성: TTL(Time To Live)이 0이 될때 패킷을 폐기.
- IP 헤더 오류 확인: 체크섬으로 IP헤더가 전송 중 오류가 발생했는지 판단.
3-2. TCP(Transmission Control Protocol)
- IP상에서 동작하는 신뢰할 수 있는 통신을 위한 프로토콜
- FTP, SMTP, POP3, HTTP등의 서비스 프로토콜에 사용됨.
/
[TCP의 기능]
- 연결설정: 네트워크 통신을 위한 가상의 통신로 설정
- 확인응답: 통신 내용에 이상이 없으면 ACK전송하고, 이상이 있으면 부정 확인 응답인 NACK 전송
- 중복제어: TCP헤더에 순서번호를 실어 순서를 복원하고 중복을 제어
- 재전송 타이머: 패킷을 송신할 때 마다 타이머를 가동하여, 일정시간이 경과해도 ACK 오지 않으면 데이터 재전송함.
- 연결관리: TCP헤더의 제어 플래크를 이용해, 연결설정/ 해제 관리함
- 윈도우 제어: 한번에 수신 가능한 데이터 크기를 제어함
- 흐름제어: 수신 호스트가 데이터 처리에 지연이 발생할 때, 송신 호스트에게 데이터 전송 중지/ 재재를 지시하는 것
- 혼잡제어: 통신상황에 따라 통신 가능한 데이터 조절
- 검사합: 데이터 오류를 검출하는 체크섬 기능을 포함
- 재전송 제어: ACK이 올때까지 송신측은 송신용 소켓버퍼에 데이터를 저장 및 관리함.
4. TCP/IP주소의 구조와 데이터 전송
TCP/IP의 하위 3계층 | 데이터 전송 과정에서 담당기능 | 식별주소 |
전송 계층 | 수신지에 도착한 데이터를 적절한 애플리케이션에 배분 |
포트번호 |
인터넷 계층 | 서로 다른 네트워크에 있는 컴퓨터 간의 데이터 전송 |
IP주소(논리주소) |
네트워크 인터페이스 계층 | 같은 네트워크 내에서 인접한 물리적 장비 간의 데이터 전송 |
물리주소(MAC주소) |
네트워크 주소의 표현
1. 주소 표현의 요건
유일성, 확장성, 편리성, 정보의 함축
2. IP주소
- OSI 7계층 중 네트워크 계층(3계층)의 기능을 수행하는 IP프로토콜이 호스트를 구분하기 위해 사용하는 주소 체계.
- 32 비트의 이진숫자로 구성. 보통 8비트씩 네부분으로 나눠 십진수로 표현.
>> 범위는 0.0.0.0 - 255.255.255.255
ex) 221(11010011).223(11011111).201(11001001).30(00011110)
- IP주소 확인 방법: 명령프롬프트 >> ipconfig 명령어 실행
3. IP주소 활용
- 인터넷에 접속하는 모든 컴터는 IP주소, 서브넷마스크, 라우터의 IP주소(게이트웨이), DNS서버의 IP주소를 알아야 네트워킹이 가능.
- ip 주소는 보통 하드디스크의 구성 파일에 저장되며, 부팅 과정에서 OS에 의해 읽혀짐. (고정 IP의 경우)
- 고정IP가 아니라면 DHCP를 사용. IP를 요청하여 동적으로 할당받게 됨.
4. MAC주소로 수신 데이터 판별하기
- PC가 가동되면 OS 드라이버가 MAC주소를 읽음.
- MAC 주소를 LAN 장치에 설정.
- NIC(랜카드)는 자신의 MAC 주소를 알게됨.
- 결과적으로 NIC는 MAC주소에 해당하는 데이터만 수신 ! (디지털 to 전기 하는 녀석)
5. IP/ MAC 주소의 필요성
- IP를 모르면 특정 MAC 주소를 갖는 컴퓨터가 네트웤 상 어디에 있는지 식별 불가. = 네트워크 개념의 부재
- 데이터 링크 계층에서 MAC주소로 필터링이 안 되면, 모든 패킷에 대해 수신 여부를 판단해야 해서 처리 부담 큼.
6. IP 주소 알기
IP: 네트워크 계층의 기능을 수행하는 IP 프로토콜에서 사용. 송신자와 수신자 주소로 구분된다
도메인 이름을 알고 있다면 DNS 통해 IP 주소 알 수 있음
7. MAC 주소 알기
MAC: 계층 2의 맥계층에서 사용하며, 일반적으로 LAN 카드에 내장됨.
LAN에서는 ARP사용하여 IP로부터 MAC을 알아냄.
+)
네트워크 종류와 진화
1. 랜(local area network, LAN)
-특정한 좁은 지역 내의 컴퓨터들을 연결.
2. 왠(Wide Area Network, WAN)
둘 이상의 LAN을 연결하여 먼 거리의 컴퓨터들을 통신가능하게 함.
네트워크와 네트워크를 연결하는 인터네트워킹(inter-networking)
>> IP를 사용
3. 인터넷과 ISP
인터넷: 전세계릐 LAN을 WAN으로 연결한 네트워크
ISP(internet service provider): 인터넷에 접속할 수 있는 서비스 제공하는 통신회사 >> KT, SKT, LGU+
'네트워크' 카테고리의 다른 글
[컴퓨터네트워크] week5 - 네트워크 시스템과 다중화 (1) | 2024.12.02 |
---|---|
[컴퓨터네트워크] 와이어 샤크 - 네트워크 계층별 패킷 분석 (0) | 2024.12.02 |
[컴퓨터네트워크] week4 - 네트워크 인터페이스 계층 / 패킷 분석 (0) | 2024.11.30 |
[컴퓨터네트워크] week3 - 2 (네트워크 인터페이스 계층) (2) | 2024.11.29 |
[컴퓨터네트워크] week3 - 1 (네트워크 기초와 구조) (7) | 2024.11.28 |