计算机网络

目录

1 互联网协议

当用户拥有一条设备以后,要想与外界交流,则需要将两个或多个这样的设备连接起来,而其中涉及到的路由器、交换机、网线等一系列硬件组成的网络,便是Internet。因不同地方,语言等的差异,要想通过终端设备与他人交流,则涉及到语言的统一标准,而这种标准就是互联网协议的基本雏形。一系列这样的统一标准就是互联网协议。

互联网协议的功能:定义计算机如何接入internet,以及接入internet的计算机通信的标准。

2  osi五层模型

互联网协议按照功能的不同可以分为osi七层或tcp/ip五层或tcp/ip四层。

每层常见的物理设备:

将应用层,表示层,会话层并作应用层,从tcp/ip五层协议的角度来阐述每层的由来与功能,搞清楚了每层的主要协议

2.1 物理层

孤立的终端要想与他人通信,就必须要有硬件的支持,使它能接入Internet

物理层功能:主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0

2.2 数据链路层

数据链路层的作用:规定电信号的分组方式。

因早期公司都有各自的分组方式,为了统一标准,诞生了ethernet(以太网)

以太网协议内容:

  1. 所有联网设备都要有网卡
  2. 每个数据要有报头和数据部分
  3. 每块网卡都要有一个MAC地址(前六位是厂商编号,后六位是流水线号),发送端和接收端的地址便是指网卡的地址

一组电信号构成一个数据报,也叫“帧”,每帧分成:报头head和数据data两部分。

   head                        data                             

head包含:(18个字节)

  • 发送者/源地址,6个字节
  • 接收者/目标地址,6个字节
  • 数据类型,6个字节

data包含:(最短46字节,最长1500字节)

  • 数据包的具体内容

一个数据报的长度,最短64字节,最长1518字节,超过最大值则分片发送。

广播:

有了mac地址,就能保证同一网络的两条主机之间的通信(一台主机通过arp协议获取另外一台主机的mac地址)。

以太网采用的就是广播的方式来发送信息,即计算机的通信基本靠吼

2.3 网络层

用于广播方式过于粗暴,一个人发送信息,所有人都能收到,其产生大量数据使其并不能很好的在世界这个范围来传播信息。于是通过彼此的隔离(路由器来实现的),来使以太网能很好的工作。但局域网中的某一个体与另一局域网中某一个体的通信却不能保障。

网络层便引入新的地址,用来区分不同的广播域/子网,这套地址即网络地址。

常用的网络地址协议就是IP协议。

IP地址分为两部分:网络部分(识别子网)和主机部分(识别主机)。

单靠一个IP是不能识别子网的,它需要子网掩码的协助。子网掩码和IP地址进行位与运算,就能得到网络地址。网络地址就是该IP所在的子网。

IP数据包也分为head和data部分

head:20~60字节

data:最长65515字节

以太网头                ip 头                                     ip数据                                

以太网的每个数据报数据部分,最长只能有1500字节。因此,如果IP数据包超过1500字节,将需要分成多个以太网数据报来发送。

2.4 传输层

网络层的IP可以帮我们区分子网,以太网的mac可以帮我们找到主机。但当我们开启多个程序时,如何来识别主机上的应用程序,则需要传输层提供的端口功能来完成。

传输层作用:建立端口与端口之间的通信。

ps:端口范围0-65535,0-1023为系统占用端口

传输层常用的协议:tcp和udp协议

tcp是可靠传输,tcp数据包没有长度限制,但为了保证网络传输的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。

以太网头 ip头 tcp头 数据

udp协议:

不可靠传输,”报头”部分一共只有8个字节,总长度不超过65,535字节,正好放进一个IP数据包。

以太网头 ip头                      udp头                            数据                                           

2.5 应用层

应用层:用户使用的,程序员开发的数据多种多样,必须规定好数据的组织形式。

应用层功能:规定应用程序的数据格式。

常用的协议:http,ftp,www等,程序员可以在此层编写协议。

2.6 socket

两个进程要实现通信,必须保证具有唯一的标识。本地的进程PID唯一,但网络中两个进程PID冲突的概率很高。由于IP地址的唯一性,所以我们用IP地址+协议+端口来唯一标识网络上的一个进程。

唯一标示网络中的一个进程,我们就可以用socket进行通信了。socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象层几个简单的接口供应用层调用以实现进程在网络上的通信。

3 用户上网流程

用户程序发送的用户数据,只要符合应用层的数据规范,会在报头加入所使用的应用层协议,向下通过传输层时,会封装应用程序所调用的端口号和协议,再向下经过网络层时,会封装目标IP和自己IP,再通过数据链路层时,封装自己和目标的mac地址,再通过物理层将数据发送出去。到达目标计算机,会依次一层层解封,最后实现用户与用户的通信。

4 网络通信

要想实现网络通信,需要:

  • 本机的IP地址
  • 子网掩码
  • 网关的IP地址
  • DNS的IP地址

获取方式:静态获取(手动获取)和动态获取(DHCP)

以太网头 ip头 udp头 dhcp数据包

1. 以太网头:设置发送发(本机)和接收方(DHCP)的MAC地址。发送发若不知道就填一个广播地:FF-FF-FF-FF-FF-FF

2. IP标头:设置发出方的IP地址和接收方的IP地址。对于这两者本机都不知道,故发出去的本机ip设为0.0.0.0,接收方IP为255.255.255.255。

3.UDP标头:设置发出方的端口和接收方的端口。DHCP协议规定发出方是68端口,接收方是67端口。

将数据包构造完成后,以广播的方式发送,但因接收方的mac是FF-FF-FF-FF-FF-FF,无法知道是发给谁的,会分析该包的IP地址,当看到发出方IP地址是0.0.0.0,接收方是255.255.255.255,DHCP服务器知道”这个包是发给我的”,而其他计算机就可以丢弃这个包。

接着,DHCP服务器读出这个包的内容,将分配好的IP地址和本网络的具体参数添加到data,通过一个数据包发送回去,作为响应。

新加入的计算机通过这个响应包,就能知道自己的IP地址、子网掩码、网关地址、DNS服务器等参数。

5 DNS服务器

ip地址是一串一串的数字,不便于记忆。所以人们发明了便于记忆的域名。DNS服务器(Domain Name Server,域名服务器)的作用是进行域名(domain name)和与之相对应的IP地址 (IP address)转换。

举个例子:www.baidu.com百度的域名,实际上应该是"www.baidu.com.",最后一个“.”是根的意思。计算机会先访问本地dns,如果有,则直接返回。如果本地dns缓存里没有,则会向全世界的13台根服务器(因为最初部署根dns服务器时,采用的udp协议,其数据包只能容纳13个)发送请求,若有,直接返回。若没有,继续访问".com"的顶级域名服务器,若有,直接返回。若没有,则访问".baid.com"的域名服务器。依此下去,直到找到。

时间: 03-12

计算机网络的相关文章

计算机网络(一)——互联网层

计算机网络,顾名思义,是由若干链路组成的,这些链路结点可以是计算机,集线器,交换机或路由器等:网络和网络之间可以通过路由器进行互联,这就是互联网的由来,而因特网就是最大的互联网:网络的存在是将许多计算机连接在一起,而因特网的存在是将许多网络连接在一起:网络的主要功能是让不同的主机之间进行数据的通信,实现大范围的资源共享:计算机之间的数据通信是通过接口来实现的: 因特网的组成部分分为边缘部分和核心部分:边缘部分为网络中的各个主机组成,核心部分是由连接这些网络的路由器组成,为边缘部分的主机提供服务:

有关计算机网络的知识分享一~

计算机网络这些基本的知识,之前学过,但那时正是爱玩绝不学习的时候,所以基本没什么印象,现在正常重新补一下. 所谓网络,是一系列可用于通信的设备相互连接构成的.在这个定义里面,一个设备可以是一台主机(或用另一种称呼,端系统),比如一台大型计算机,台式机,便携式计算机,工作站,手机或安全系统.在这种定义中,设备也可以是一个连接设备,比如用来将一个网络与另一个网络相连接的路由器,一个将不同设备连接在一起的交换机,或者一个用于改变数据形式的调制解调器,等等. 局域网(LAN,Local Area Net

计算机网络编程基本概念

网络: 计算机网络由一组通过通信信道相互连接的机器组成.我们把这些机器称为主机(hosts)和路由器(routers). 路由: 路由器的作用是将信息从一个通信信道传递或转发(forward)到另一个通信信道. 信道: 通信信道(communication channel)进行解释:它是将字节序列从一个主机传输到另一个主机的一种手段,可能是有线电缆,如以太网(Ethernet),也可能是无线的,如WiFi[ ],或是其他方式的连接. 报文: 这里的信息(information)是指由程序创建和解

网络基础篇----计算机网络基本概述(1)

享受生活  热爱挑战                                                                刘明远分享    一   计算机网络基本概述(1) 每章一段话: 不要让自己闲下来,给自己找些事情做.哪怕是看看书. 正文   (提示:本章内容比较无聊,最好当看故事一样来看,不必记下只需了解,内容基础) 1什么是计算机网络 号称新的"电力火花"是以计算机.通信.信息技术为支撑的计算机网络技术. 计算机网络将两台或多台计算机通过电缆或网络设

计算机网络学习1-网络层次

计算机网络学习中最基本的是计算机网络分层模型,目前学习需要了解的有两种 1.OSI(开放系统互连)有七层,记忆方法:无数网传会报应(物理层,数据链路层,网络层,传输层,会话层,表示层,应用层) 具体每层功能分析: 1.1物理层:规定建立,维持,断开通信端之间的机械.电气.功能.过程特性.单位bit: 物理层标准有:RJ-45,V3.5等 1.2数据链路层:不可靠物理介质上提供可靠的传输.单位frame: 数据链路层标准:SDLC,HDLC,PPP,帧中继等 1.3网络层:对数据包进行路由选择和转

计算机网络高级教程考点个人总结

计算机网络高级教程 选择题 50~60分 论述题:40~50分 个人总结仅供参考 论述题范围 1.  google公司,IBM公司.微软公司.苹果公司.华为公司.百度公司的技术发展方向. 2.5G的特点及其产业应用. 3.智慧城市的应用探索. 4.机器人技术与应用探索. Google公司市值6819.40亿美元,IBM市值1450亿美元,苹果8000亿美元,微软5400亿美元,阿里3632.63亿美元,腾讯3462亿美元,京东600亿美元,百度600亿美元,华为没有上市,没有市值. 选择题范围

胡说八道计算机网络之什么是网络?

胡说八道计算机网络之什么是网络(一) 什么是网络? 网络通信的实现:tcp/ip协议 使用Wireshark抓包分析tcp/ip协议栈 什么是网络? 所谓网络,就是通过一定的形式连接起来的物体,物体与物体之间可以实现通信. 比如这样的,就称为计算机网络.它可以实现计算机之间的通信. 抑或是这样的,就被称为神经网络.它可以通过生物的突触进行信号通信.最近深度学习,人工智能大量运用了神经网络的工作机制. 抑或是这样的,就被称为物联网络.它可以实现万物互联,想想还有点小激动呢,不知是福是祸. 只要是你

计算机基础:计算机网络

计算机网络 OSI模型 TCP握手协议 TCP/IP 4层模型

计算机网络中的协议

物理层 物理层考虑的是怎样才能连接各种计算机传输媒体上传输的数据比特流,而不是具体的传输媒体,用于物理层的协议叫做物理层的规程. 数据链路层 对于点对点的链路,PPP协议书目前应用最广泛的数据链路层协议 PPP协议的组成 1)一个将数据报封装到串行链路的方法,PPP既支持异步链路,有支持面向比特的同步链路.IP数据报在PPP帧中就是其信息部分. 2)一个用来建立,配置和测试数据链路连接的链路控制协议LCP.通信双方可协商一些选项.链路控制,PPP为用户发起呼叫以建立链路,在建立链路是协商以参数选

计算机网络(7)-----TCP协议概述

传输控制协议(Transmission Control Protocol) 概念 一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义.在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议. 主要特点 (1)TCP是面向连接的运输层协议.这就是说,应用程序在使用TCP协议之前,必须先建立TCP协议.在传送数据完毕后,必须释放已经建立的TCP连接.类似于“打电话”,需要先拨号建立连接,通话完之后要挂机释