Linux网络学习_网络的基本概念
Posted Leslie X徐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux网络学习_网络的基本概念相关的知识,希望对你有一定的参考价值。
网络的基本概念
概念
- 计算机联网目的
- 使用远程资源
- 共享资源、程序和数据
- 分布处理
- 协议
- 计算机网络中实现通信必须有一些约定,如对速率、传输代码、代码结构、传输控制和出错控制等约定,这些约定被定义为通信协议
- 在两个节点之间要成功进行通信,两个节点之间必须遵守协议。
- 在Internet中,最为通用的网络协议是TCP/IP协议。
- 网络分层模型
OSI七层模型 | TCP/IP四层模型 | 例子 |
---|---|---|
应用层 | 应用层 | Telnet、FTP、SMTP、DNS、SNMP、Http |
表示层 | - | - |
会话层 | - | - |
传输层 | 传输层 | TCP,UDP |
网络层 | 网络层 | IP协议 |
数据链路层 | 物理+数据链路 | Ethernet(IEEE802.3) |
物理层 | - | - |
- TCP/IP协议族
- TCP/IP实际上是一个一起工作的通信家族,为国际数据通信提供通路。
- TCP/IP协议族大体上分为三部分
- Internet协议(IP)
- 传输控制协议(TCP)和用户数据报文协议(UDP)
- 处于TCP和UDP之上的一组应用层协议,专门开发的应用程序。它们包括远程登陆(TELENT)、文件传送协议(FTP)、域名服务(DNS)和简单的邮件传送程序(SMTP)等许多协议。
- 网络层协议
- Internet协议(IP)
- 该协议被设计成互联网分组交换通信网,以形成一个网际通信环境。它负责在源主机和目的主机之间传输来自其较高层软件(称为数据报文的数据块),它在源和目的地之间提供非连接型(不按顺序接收)、不可靠的传递服务。
- 国际控制报文协议(ICMP)
- ICMP实际上不是IP层部分,但直接同IP层一起工作,报告网络上的某些出错情况。允许网际路由器传输差错信息或测试报文。
- 地址识别协议(ARP)
- ARP实际上不是网络层部分,它处于IP和数据链路之间,它是在32位IP地址和48位局域网物理地址(MAC)之间执行翻译的协议。
- 传输层协议
- 传输控制协议(TCP)
- 可靠的面向连接的传输层服务
- 主要功能:
- 监听输入对话建立请求
- 请求另一网络站点对话
- 可靠的发送和接收数据
- 适度的关闭对话
- 用户数据报文协议(UDP)
- UDP提供不可靠的非连接型传输层服务
- 它允许在源和目的地的地站点之间传送数据,而不必在传送数据之前建立对话。
- 不使用TCP使用的端对端差错校验。
- 传输层功能全都发挥,而开销却比较低
- 主要用于那些不要求TCP协议的非连接型的应用程序。例如:名字服务、网络管理、视频直播和网络会议等。
- UDP提供不可靠的非连接型传输层服务
- 应用层协议
- 远程登陆(TELENT)
- 文件传送协议(FTP)
- 域名服务(DNS)
- 简单的邮件传送程序(SMTP)
-
数据封装
数据经过每一层,增加一个相应头部
-
IP
-
IP的主要目的是为数据输入/输出网络提供基本算法,为高层协议提供无连接的传送服务。这意味着在IP将数据递交给接收站点以前不在传输站点和接收站点之间建立对话(虚拟链路)。它只是封装和传递数据,但不向发送者或接收者报告包的状态,不处理所遇到的故障。
-
IP协议有以下四个主要功能
- 数据传送
- 寻址
- 路由选择
- 数据报文的分段
-
IP协议不注意包内的数据类型,他所知道的一切是必须将某些称为IP帧头的控制协议加到高层协议(TCP或者UDP)所接受的数据上。
-
封装在Ethernet帧中的IP信息
-
在TCP/IP网络中,每一个主机都有唯一的地址,它是通过IP协议来实现的。
-
IP协议要求在每次与TCP/IP网络建立连接时,每台主机都必须为这个连接分配一个唯一的32位地址,因为在这个32位IP地址中,不但可以用来识别某一台主机,而且还隐含着网际间的路径信息。
-
主机是指网络上的一个节点,不能简单的理解为一台计算机,实际上IP地址是分配给计算机的网络适配器(即网卡)的,一台计算机可以有多个网络适配器,就可以有多个IP地址,一个网络适配器就是一个节点。
-
IP地址为32位地址,一般以4个字节表示。每个字节的数字又用十进制表示,每个字节的数的范围是0~225,且每个数字之间用点隔开,称为"点-分"十进制记号法。
-
IP地址的结构如下:网络类型.网络ID.主机ID
- IP地址分类
- Internet地址可分为5类
地址类型 | 第一个字节的十进制值 |
---|---|
A | 000~127 |
B | 128~191 |
C | 192~233 |
D | 224~239 |
E | 240~255 |
- A,B,C三类由InterNIC(Internet网络信息中心)在全球范围内统一分配,D,E类为特殊地址。
- 端口号
- TCP/UDP协议使用16位整数存储端口号,所以每个主机拥有65535个端口。
- 一些端口被IANA分配给指定应用
- 21:FTP
- 23:Telnet
- 80:HTTP
- RFC 1700(大约有2000个保留端口)
- 查看:more /etc/services
# New ports will be added on request if they have been officially assigned
# by IANA and used in the real-world or are needed by a debian package.
# If you need a huge list of used numbers please install the nmap package.
tcpmux 1/tcp # TCP port service multiplexer
echo 7/tcp
echo 7/udp
discard 9/tcp sink null
discard 9/udp sink null
systat 11/tcp users
daytime 13/tcp
daytime 13/udp
netstat 15/tcp
qotd 17/tcp quote
msp 18/tcp # message send protocol
msp 18/udp
chargen 19/tcp ttytst source
chargen 19/udp ttytst source
ftp-data 20/tcp
ftp 21/tcp
fsp 21/udp fspd
ssh 22/tcp # SSH Remote Login Protocol
telnet 23/tcp
smtp 25/tcp mail
time 37/tcp timserver
time 37/udp timserver
rlp 39/udp resource # resource location
nameserver 42/tcp name # IEN 116
whois 43/tcp nicname
tacacs 49/tcp # Login Host Protocol (TACACS)
tacacs 49/udp
domain 53/tcp # Domain Name Server
domain 53/udp
bootps 67/udp
bootpc 68/udp
tftp 69/udp
gopher 70/tcp # Internet Gopher
finger 79/tcp
http 80/tcp www # WorldWideWeb HTTP
- 传输控制协议(TCP)
- TCP(Transmission Control Protocol)是重要的传输层协议,TCP提供一种面向连接的、可靠的字节流服务。
- TCP协议的目的是允许数据同网络上的另外站点进行可靠的交换。它能提供端口编号的译码,以识别主机的应用程序,而且完成数据的可靠传输。
- TCP协议具有严格的内装差错检验算法确保数据的完整性。
- TCP协议是面向字节的顺序协议,这意味着包内的每个字节被分配一个顺序编号,并分配给每包一个顺序编号。
- 封装在IP协议中的TCP信息
- 用户数据报文协议(UDP)
- UDP(User Datagram Protocol)也是TCP/IP的传输层协议,他是无连接的,不可靠的传输服务。当接收数据时它不向发送方提供确认信息,不提供输入包的顺序,如果出现丢包或重份包的情况,也不会向发送方发出差错报文。
- 它允许在源和目的地的地站点之间传送数据,而不必在传送数据之前建立对话。
- 不使用TCP使用的端对端差错校验。
- 传输层功能全都发挥,而开销却比较低
- 由于开销低,所以执行速度比TCP快。主要用于那些不要求TCP协议的非连接型的应用程序。例如:名字服务、网络管理、视频直播和网络会议等。
以上是关于Linux网络学习_网络的基本概念的主要内容,如果未能解决你的问题,请参考以下文章