1、网络基础

网络发展背景、IP、端口、网络通信协议,TCP/IP五层模型、字节序

一、网络发展背景

局域网:网络覆盖在1000m以内的网络

城域网:网络覆盖在20km以内的网络

广域网:网络覆盖在20km以上的网络

因特网、互联网:更大的国际化的广域网

以太网(ETH)、令牌环网:组网方式

二、IP

1、作用

在网络中能够唯一标识一台主机。

2、本质

uint32_t——无符号32位的一个整数。

注意:在网络中通信的每一条数据中,都会具有俩个信息——源端IP地址&对端IP地址

           因为这俩个信息描述了数据从网络中的那个主机来,要到那个主机去。因为IP地址大小是无符号4字节,因此网络中的IP地址只有43亿个左右

IPv4版本IP地址:uint32_t

        DHCP:动态地址分配

        NAT技术:网络地址转换技术(一种组件私网,私网中的大量主机使用的一个对外地址通信)

IPv6版本IP地址:uint8_t ip[16],并不向前兼容IPv4。

 一条数据中包含的信息:sip , sport ,dip,dport,protocol(协议)五元组

三、端口PORT

1、本质

uint16_t类型——无符号16位的整数。

2、作用

在一台主机上标识一个进程。

注意:在网络中通信的每一条数据中,都会具有俩个信息——源端端口&对端端口

           每个主机上的网络通信程序都会提前告诉操作系统,网卡收到的发往哪个端口的数据应该交给自己来处理。

一个端口只能被一个进程占用,但是一个进程可以有多个端口。

四、网络通信协议、TCP/IP

1、定义

就是约定,指的是网络通信中的数据格式约定。

协议分层:将复杂的网络通信环境,按照提供的服务,使用的协议、接口进行划分。

2、国际标准化组织(ISO)

OSI七层网络互联模型:应用层,表示层,会话层,传输层,网络层,链路层,物理层

3、IEEE,TCP/IP五层模型

应用层:负责应用程序之间的数据沟通,HTTP,FTP,SMTP

传输层:负责进程之间的数据传输,TCP/UDP——包含了端口信息

网络层:负责地址管理和路由选择,IP——包含了IP地址信息,典型设备:路由器

链路层:负责相邻设备之间的数据传输,ETH(以太网地址协议)——MAC地址,交换机

物理层:负责物理光点信号的传输,以太网协议——集线器

五、网络字节序

1、字节序

cpu对内存中数据以字节为单位进行存取的顺序。

2、分类

内存有高低地址之分,数据二进制有高低位之分。

  1. 大端:低地址存高位
  2. 小端:低地址存低位

eg:1、网络基础_第1张图片

 主机字节序是取决于cpu架构的:x86——小端; MIPS——大端

3、场景

  1. 字节序在网络通信中存在的一些问题
  2. 什么样的数据才存在字节序的问题

1、网络基础_第2张图片

 比如上图:在网络通信中,通信的俩端主机是不同字节序,就可能出现数据二义性

因此规则在网络通信中必须使用网络字节序(网络通信中的字节序标准)

网络字节序采用的是大端字节序。

4、字节序针对什么样的数据?

针对存储单元大于一个字节的数据。

1、网络基础_第3张图片

 如果是结构体变量,如果要考虑应该是针对每一个成员变量单独考虑,而不是整体考虑翻转。

第一个就是对的。

你可能感兴趣的:(网络)